A Middleware for Model-Based Embedded Systems

To deal with the increasing complexity of embedded real-time systems the model-driven development approach has proven to be beneficial. The reduction of complexity achieved by the used models, which are often implemented using a graphical modeling language, results in less faulty systems. For model-driven development to be effective, the possibility of human faults has to be kept as small as possible. This goal can be reached by utilizing automatic code generation and is hence already employed in production today. Tools like Matlab/Simulink or ASCET-SD are examples of such efforts. Yet those tools lack the possibility of designing not only parts, but specifying complete systems and generating code as well as configuration data for the overall application. The Component Language COLA is intended to fill this gap. While generating application code for COLA models is similar to the mentioned tools, the code shall be deployed onto a distributed system with as less manual interaction as possible. To enable for unattended deployment and efficient modification of the generated system, a transparent communication layer is desirable. In this paper we present a middleware approach intended for use in automatic system deployment for COLA. Besides transparent communication the presented middleware features additional services to the application like a clock synchronization mechanism, storage of task states and more. The details about the middleware's realization and its use for a model-driven process are described in the paper at hand.

[1]  Florence Maraninchi,et al.  Mode-Automata: About Modes and States for Reactive Systems , 1998, ESOP.

[2]  Douglas C. Schmidt,et al.  Middleware for real-time and embedded systems , 2002, CACM.

[3]  Nicolas Halbwachs,et al.  LUSTRE: A declarative language for programming synchronous systems* , 1987 .

[4]  Douglas C. Schmidt,et al.  An overview of the Real-Time CORBA specification , 2000, Computer.

[5]  Bernardo Wagner,et al.  RTnet - a flexible hard real-time networking framework , 2005, 2005 IEEE Conference on Emerging Technologies and Factory Automation.

[6]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[7]  David E. Bakken,et al.  A configurable middleware framework with multiple quality of service properties for small embedded systems , 2003, Second IEEE International Symposium on Network Computing and Applications, 2003. NCA 2003..

[8]  Manfred Broy The 'Grand Challenge' in Informatics: Engineering Software-Intensive Systems , 2006, Computer.

[9]  Manfred Broy,et al.  AutoMoDe - Notations, Methods, and Tools for Model-Based Development of Automotive Software , 2005 .

[10]  Hermann Kopetz,et al.  The time-triggered architecture , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[11]  Michael Tautschnig,et al.  Running COLA on Embedded Systems , 2008, IMECS 2008.

[12]  Günter Grünsteidl,et al.  TTP - A Protocol for Fault-Tolerant Real-Time Systems , 1994, Computer.

[13]  Zhonglei Wang,et al.  COLA -- The component language , 2007 .

[14]  Aniruddha S. Gokhale,et al.  CoSMIC: An MDA Generative Tool for Distributed Real-time and Embedded Applications , 2003, Middleware Workshops.

[15]  Stavros Tripakis,et al.  From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications , 2003 .

[16]  Guoliang Xing,et al.  Middleware specialization for memory-constrained networked embedded systems , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[17]  Albert Benveniste,et al.  The synchronous approach to reactive and real-time systems , 1991 .