SmartC: A Component-Based Hierarchical Modeling Language for Automotive Electronics
Guoqing Yang,Hong Li,Zhaohui Wu
DOI: https://doi.org/10.1109/dasc.2006.45
2006-01-01
Abstract:This paper introduces SmartC, a language designed for programming automotive electronics embedded systems such as engine control systems. SmartC is a hierarchical modeling language and implements the SmartOSEK operating system model. The SmartC models are classified into four levels, namely module level, task level, subtask level and component level. In the SmartC models, control-flow oriented models and data-flow oriented models are integrated in the hybrid SmartC models. At the task level, the model is constructed based on the control flow, whereas the component level model is constructed based on the dataflow. In SmartC programs, all inter-task communication, task triggering mechanisms, and access to guarded global variables, are automatically generated by the SmartC generator which generates the C code from the SmartC code. Having well-structured concurrency mechanisms, SmartC greatly reduces the risk of concurrency errors, such as deadlock and race conditions. The SmartC language is implemented on the automated manual transmission (AMT) control system and is compatible with the OSEK/VDXspecifications. We use a continuous time (CT) model as an example to illustrate the effectiveness of the language