Машинно-зависимое программное обеспечение
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( январь 2018 г. ) |
Машинно-зависимое программное обеспечение — это программное обеспечение , которое работает только на определенном компьютере . Приложения, работающие на нескольких компьютерных архитектурах, называются машинно-независимыми или кроссплатформенными . [1] Многие организации выбирают такое программное обеспечение, поскольку считают, что машинно-зависимое программное обеспечение является ценным активом и привлечет больше покупателей. Организации, которым требуется, чтобы прикладное программное обеспечение работало на гетерогенных компьютерах, могут перенести это программное обеспечение на другие машины. При развертывании машинно-зависимых приложений на таких архитектурах такие приложения требуют портирования. Эта процедура включает в себя составление или перекомпоновку кода приложения в соответствии с целевой платформой.
Портирование
[ редактировать ]Портирование — это процесс преобразования приложения из одной архитектуры в другую. [2] Языки программного обеспечения, такие как Java , разработаны таким образом, чтобы приложения могли мигрировать между архитектурами без изменения исходного кода. Этот термин применяется, когда программа/оборудование изменяется, чтобы сделать его пригодным для использования в другой архитектуре.
Код, который не работает должным образом в конкретной системе, должен быть перенесен в другую систему.
Усилия по портированию зависят от нескольких переменных, в том числе от степени, в которой первая среда (исходный этап) отличается от новой среды (объективный этап), а также от опыта создателей в знании диалектов программирования, специфичных для платформы. [3]
Многие языки предлагают машинно-независимый промежуточный код, который может обрабатываться интерпретаторами, зависящими от платформы, для устранения несовместимостей. [4] Переходное представление характеризует виртуальную машину, способную выполнять все модули, написанные на промежуточном диалекте. Рекомендации по промежуточному коду интерпретируются генератором кода в отдельные структуры машинного кода для создания исполняемого кода. Промежуточный код также может выполняться напрямую без статического преобразования в код, специфичный для платформы. [5]
Подходы
[ редактировать ]- Портировать переводчик. Это можно закодировать в переносимом коде.
- Адаптируйте исходный код к новой машине.
- Выполните скорректированный исходный код, используя транслятор с исходным кодом генератора кода в качестве данных. Это создаст машинный код для генератора кода.
См. также
[ редактировать ]Ссылки
[ редактировать ]Внешние ссылки
[ редактировать ]- Агравала А.К. и Раушер Т.Г., 2014, Основы микропрограммирования: архитектура, программное обеспечение и приложения , Академическая пресса.
- Хуанг Дж., Ли Ю. Ф. и Се М., 2015, Эмпирический анализ предварительной обработки данных для оценки стоимости программного обеспечения на основе машинного обучения , Информационные и программные технологии , 67, 108–127
- Ли, Дж. Х., Ю, Дж. М. и Ли, Д. Х., 2013, Алгоритм табу-поиска для несвязанного планирования параллельных машин с настройками, зависящими от последовательности и станка: минимизация общего опоздания , Международный журнал передовых производственных технологий , 69 (9–12) ), 2081–2089 гг.
- Лин, С.В., и Ин, К.К., 2014, Планирование производства на основе ABC для несвязанных параллельных станков с временем настройки, зависящим от станка и последовательности заданий , Computers & Operations Research , 51, 172–181
- Матур Р., Майлз С. и Ду М., 2015, Адаптивная автоматизация: использование машинного обучения для поддержки непрерывного автоматизированного тестирования программных приложений, препринт arXiv arXiv : 1508.00671
- Рашид Е.А., Патнаик С.Б. и Бхаттачерджи В.К., 2014, Машинное обучение и прогнозирование качества программного обеспечения: как экспертная система , Международный журнал информационной инженерии и электронного бизнеса (IJIEEB) , 6 (2), 9
- Рёрих, Т., и Велфондер, Э., 2014, Машинно-независимое программное обеспечение и программирование распределенных цифровых систем управления , В приложениях цифровых компьютеров для управления процессами: материалы 7-й конференции IFAC/IFIP/IMACS, Вена, Австрия, 17– 20 сентября 1985 г. (стр. 247), Elsevier.
- Шепперд М., Боуз Д. и Холл Т., 2014, Предвзятость исследователя: использование машинного обучения в прогнозировании дефектов программного обеспечения , Разработка программного обеспечения, Транзакции IEEE , 40(6), 603–616
- Ван, Дж. Б., Сан, Л. Х. и Сан, LY, 2011, Планирование общего времени завершения работ на одной машине с ухудшением, зависящим от времени , Прикладное математическое моделирование , 35 (3), 1506–1511
- Инь Ю., Лю М., Хао Дж. и Чжоу М., 2012, Син