Гибкая автоматизация
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Гибкая автоматизация относится к применению избранных принципов, шаблонов и практик гибкой разработки программного обеспечения в области промышленной автоматизации и разработки программного обеспечения для управления процессами. Термин был придуман компанией HAL Software (Ирландия) в 2013 году.
Традиционно программное обеспечение промышленной автоматизации разрабатывалось с использованием языков, которые не полностью реализуют объектно-ориентированное программирование . Жизненный цикл разработки программного обеспечения соответствует модели «Водопад» . Например, модель GxP ( Good Automated Manufacturing Practice ) V фармацевтических , которая широко распространена во всех регулируемых отраслях. Однако росло мнение, что эта модель слишком жесткая, не допускает достаточных изменений на протяжении жизненного цикла разработки программного обеспечения и не нацелена на тестирование в соответствии с риском. Последняя версия модели GxP в некоторой степени пошла в сторону тестирования на основе оценки рисков.
Последняя модель GxP предполагает тестирование и документирование в соответствии с предполагаемым риском для конечного пользователя. (Пациент в случае фармацевтической промышленности).
Фактически, в руководстве GAMP5 2008 года прямо упоминалось гибкое программирование;
- «Подход, описанный в этом документе, предназначен для совместимости с широким спектром других моделей, методов и схем, включая: Методы разработки программного обеспечения, такие как RAD , Agile, RUP или экстремальное программирование ». (ГАМП5) [1]
Однако ведутся споры о том, могут ли гибкие методы действительно удовлетворить нормативные требования, как указано в статье ISAP GMAP D_A_C_H SIG ASDMM об альтернативных моделях и методах разработки программного обеспечения в средах GxP. (Фармацевтическая инженерия, январь 2012 г., том 32, № 1). В отрасли имеется некоторый опыт плохо реализованных проектов программного обеспечения Agile для системы управления производством , и этот опыт имеет тенденцию укреплять традиционное представление о том, что жизненный цикл разработки программного обеспечения Waterfall является самым простым способом обеспечить соблюдение инженерной строгости и бюджетных/графических ограничений для команды разработчиков программного обеспечения.
Разработка программного обеспечения для гибкой автоматизации может сократить жизненный цикл разработки и в то же время включать автоматизированное модульное тестирование. То, к чему призывает индустрия. Кроме того, аспекты Agile объектно-ориентированной разработки программного обеспечения «не повторяйте себя», включающие расширение классов программного обеспечения через интерфейсы (класс программного обеспечения открыт для расширения, но закрыт для модификации), очень привлекательны в регулируемой отрасли, где проверка изменений программного обеспечения особенно важна. дорогой. Гибкая разработка программного обеспечения способствует истинному объектно-ориентированному программированию, что, в свою очередь, приводит к созданию программного обеспечения, которое более поддается изменениям и с меньшей вероятностью сломается. [2]
Двумя наиболее широко используемыми шаблонами стратегического проектирования в фармацевтических и других системах высшего уровня промышленной автоматизации периодического действия ( SCADA , Batch и MES ) являются ISA S88 и ISA S95. Эти шаблоны могут быть реализованы таким образом, что поведение действий (например, метод чтения/записи или метод включения/выключения команды Valve) инкапсулируется как интерфейсы с использованием таких языков, как C# или Java . [3] Разработка программного обеспечения для коммерческих систем управления ориентирована на наследование и подтипирование, а другие принципы ООП ( Инкапсуляция , Полиморфизм ) не доступны программисту в такой же степени. Эта неполная реализация ООП увеличивает объем необходимых усилий по проектированию. Даже коммерческие системы DCS, такие как Emerson DeltaV, склонны к подтипированию и наследованию, не имея простого способа реализации поведения через интерфейс или аналогичную конструкцию. (Невозможно реализовать множественное наследование .)
Язык программирования IEC 61131-3 является наиболее широко используемым языком для программирования систем ПЛК и РСУ . Это не по-настоящему объектно-ориентированный язык, реализующий только один принцип ООП (наследование/подтипирование), а не инкапсуляцию или полиморфизм. Это ограничивает возможности автоматического модульного тестирования и инкапсуляции поведения для расширения классов.
Как правило, в большинстве промышленных контроллеров возможностей для инкапсуляции поведения меньше, за исключением платформ, на которых работает более совершенная операционная система (например, платформа Beckhoff Twincat), которую можно программировать с помощью IDE высокого уровня, таких как Visual Studio .
Существует заменяющий стандарт (IEC 61499), который более объектно-ориентирован, но его внедрение в отрасли невелико. Есть шаги в направлении консолидации IEC61131-3, в частности, посредством стандарта PLCOpen . Такой подход к разработке абстрактного XML- класса может привести к созданию библиотеки протестированных модулей/типов классов, экземпляры которых впоследствии можно будет создать и импортировать на целевую платформу .
Растет интерес к гибкому программированию с модельно-управляемой архитектурой (MDA), при котором впервые разрабатывается модель, независимая от платформы. В результате соблюдения нормативных требований к подаче заявок и необходимости защиты от судебных разбирательств фармацевтическая промышленность записывает и сохраняет данные, которые необходимо восстановить для последующей подачи документации или выпуска партии (электронные записи о партиях). Модель, разработанная в пилотной лаборатории и используемая в качестве руководства для расширения производства, может помочь в подаче заявки. [4] [5] [6]
Ссылки
[ редактировать ]- ^ "Дом" . ispe.org .
- ^ 12JF-Hambloch_GAMP.pdf - Альтернативные модели и методы разработки программного обеспечения в средах GxP (перепечатано из журнала «Фармацевтическая инженерия»)
- ^ "Дом" . isa.org .
- ^ Более быстрый вывод новых продуктов на рынок - (Адам Фермье, Пол Маккензи, Терри Мерфи, Лейф Поулсен, Джин Шефер) ISPE 2012
- ^ «Проектирование и оптимизация крупномасштабного биофармацевтического предприятия с использованием инструментов моделирования процессов и планирования» Фармацевтическая инженерия 2010 Том 30 № 2
- ^ agile-принципы, шаблоны и практики в C# - Роберт К. МАртин