TECS(TOPPERS Embedded Component System)为TOPPERS推出的一个针对嵌入式系统,将各种软件模块封装为组件,并将组件结合在一起以实现快速构建大规模嵌入式系统软件的规范和工具的集合。其目的在于通过组件化的开发方式降低嵌入式系统软件的开发难度,减少重复开发,提高设计的抽象度和嵌入式系统软件的可复用性。
在TECS中,应用由不同的组件组成,每个组件称之cell并有相应的类型,相当于对象与类的关系。组件有两类接口,一类为入口(entry port)用以像其他cell提供服务,另一类为调用口(callport)用以调用其他cell所提供的服务,一个调用口只能连接一个入口,一个入口可以被多个调用口连接。接口的类型由signature定义,独立于cell,cell与cell之间只有相同signature的入口和调用口能连接在一起。如下图所示,有两个cell分别为cell1和cell2,cell1的类型为tCellType1,cell2的类型为tCellType1。cell1的调用口cService与cell2的入口连接子在一起,类型为sService。
TECS下的开发流程如下图所示,组件设计者通过组件描述语言CDL(ComponentDescription Language)来定义cell和signaure。应用开发者可以直接通过CDL描述组件是如何构成应用,或者通过组件图以图形化方式描述,然后再由相应的工作转化成CDL。TECS的CDL解析器将分析CDL并生成相应的C语言代码模板、头文件和接口代码,如果使用了TOPPERS内核,还会生成相应的TOPPERS内核配置文件。组件开发者将依据所生成的模板文件实现相应的组件。最后所有的代码经过编译链接形成最终的目标文件,载入最终制品后交由最终的使用