CIP-инструмент - CIP-Tool
CIP-инструмент (Общение взаимодействующих процессов) это программного обеспечения инструмент для моделирования и реализации событийных приложений. Это особенно актуально при разработке программных компонентов встроенные системы.
История
Математические формализмы, лежащие в основе CIP, были впервые предложены физиком, Проф. Д-р Уго Фирц. Впоследствии инструмент был разработан в Швейцарский федеральный технологический институт (Цюрих) в серии исследовательских проектов в 1990-е гг. С тех пор разработка и распространение были переданы коммерческой дочерней компании CIP-Tool, расположенной в г. Золотурн, Швейцария.
Летом 2011 года компания Actifsource GmbH приобрела инструмент CIP Tool. Actifsource интегрировал инструмент CIP Tool в Actifsource верстак.
Методология
CIP-модель в основном конечный автомат, а точнее расширенный конечный автомат (процессы могут хранить и изменять переменные и могут использовать их для включения или отключения переходов).
В CIP желаемое поведение системы разбито на отдельные процессы, каждый из которых представляет собой набор состояния связаны между собой переходы. Одно состояние в каждом процессе помечено как активный государственный. Этот активный статус может быть переведен в другое состояние посредством выполнения перехода. Такие переходы инициируются События (от внешних источников, например, датчиков) или импульсы (из других процессов). Переходы, в свою очередь, могут отправлять один или несколько выходящие импульсы (в другие процессы) или действия (к внешним приемникам, например, эффекторам).
CIP-модель иногда путают с сети петри. Это может быть связано с тем, что для начинающих обозначения выглядят одинаково. Однако не следует переоценивать сходство. Например, CIP допускает только (и точно) одно активное состояние для каждого процесса, а процессы не запускаются и не завершаются во время выполнения.
Генерация кода
CIP-Tool позволяет автоматически преобразовывать модели в исполняемый код. Это значительно облегчает тестирование, документирование и окончательную реализацию. В настоящее время языки C / C ++ и Ява поддерживаются как выходные форматы.