The CIP method: component- and model-based construction of embedded systems

CIP is a model-based software development method for embedded systems. The problem of constructing an embedded system is decomposed into a functional and a connection problem. The functional problem is solved by constructing a formal reactive behavioural model. A CIP model consists of concurrent clusters of synchronously cooperating extended state machines. The state machines of a cluster interact by multi-cast events. State machines of different clusters can communicate through asynchronous channels. The construction of CIP models is supported by the CIP Tool, a graphical modelling framework with code generators that transform CIP models into concurrently executable CIP components. The connection problem consists of connecting generated CIP components to the real environment. This problem is solved by means of techniques and tools adapted to the technology of the interface devices. Construction of a CIP model starts from the behaviour of the processes of the real environment, leading to an operational specification of the system behaviour in constructive steps. This approach allows stable interfaces of CIP components to be specified at an early stage, thus supporting concurrent development of their connection to the environment.

[1]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[2]  Richard N. Taylor,et al.  A framework for classifying and comparing architecture description languages , 1997, ESEC '97/FSE-5.

[3]  Nicolas Halbwachs,et al.  LUSTRE: a declarative language for real-time programming , 1987, POPL '87.

[4]  Michael Jackson,et al.  Problem Analysis Using Small Problem Frames , 1999 .

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

[6]  Pamela Zave,et al.  The operational versus the conventional approach to software development , 1984, CACM.

[7]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[8]  Amardeo Sarma,et al.  Sdl '93: Using Objects : Proceedings of the Sixth Sdl Forum Darmstadt, Germany, 11-15 October, 1993 , 1993 .

[9]  Paul Ward,et al.  Structured Development for Real-Time Systems , 1986 .

[10]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[11]  Hugo Fierz SCSM - synchronous composition of sequential machines , 1994 .

[12]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[13]  Ho. Trutmann Well-Behaved Applications Allow for More Efficient Scheduling , 1999 .

[14]  Ho. Trutmann Generation of Embedded Control Systems , 1998 .

[15]  John R. Cameron JSP and JSD - the Jackson approach to software development (2. ed.) , 1989 .