Модель "сущность-компонент-интерфейс"
Каждая сущность может предоставлять один или более интерфейсов взаимодействия. Несколько интерфейсов могут быть объединены в компонент. Компоненты могут быть вложены в другие компоненты. Все используемые в решении сущности, компоненты и интерфейсы должны быть статически описаны.
В KasperskyOS есть три вида файлов статических описаний:
- EDL-файл содержит описание сущности на языке Entity Definition Language (далее EDL): ее имя, состав компонентов и интерфейсов, а также другую информацию.
- CDL-файл содержит описание компонента на языке Component Definition Language (далее CDL). Описание компонента включает в себя его имя, а также набор включенных в него компонентов и реализуемых интерфейсов.
- IDL-файл содержит описание пакета, содержащего один интерфейс на языке Interface Definition Language (далее IDL). Описание включает в себя имя пакета, объявление входящего в него интерфейса, а также объявление типов и именованных констант.
Для обеспечения гибкости сущность может содержать несколько экземпляров компонента. Несколько сущностей могут включать экземпляры одного и того же компонента.
Сущность может не содержать ни одного компонента и не реализовывать ни один интерфейс. В этом случае она не предоставляет функциональности, доступной другим сущностям.
Сущность Server включает в себя экземпляры компонентов Terminal и Serial, содержащих различные реализации интерфейса Console