Formalization of a software architecture for embedded systems: a process algebra for SPLICE

SPLICE is an industrially developed and applied software architecture for large-scale distributed embedded systems. The key feature of SPLICE is asynchronous communication between processes. The characteristics of systems built with SPLICE include dynamic data distribution, fault-tolerance, and real-time performance. The objective of the work presented in this paper was to use a formal model to reason about the behaviour of SPLICE systems and to support the design process in system decomposition and refinement. We formalize SPLICE using a process algebra called SPLICE Process Algebra. This process algebra allows us to derive properties of the SPLICE architecture. From these properties a set of guidelines can be produced that aid in the development of SPLICE applications.

[1]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[2]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[3]  Gruia-Catalin Roman,et al.  Mixed Programming Mataphors in a Shared Dataspace Model of Concurrency , 1990, IEEE Trans. Software Eng..

[4]  Mary Shaw,et al.  Software architecture: the next step for object technology (panel) , 1993, OOPSLA '93.

[5]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[6]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[7]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.

[8]  M. Boasson Architecture, software and complexity , 1990, COMPEURO'90: Proceedings of the 1990 IEEE International Conference on Computer Systems and Software Engineering@m_Systems Engineering Aspects of Complex Computerized Systems.

[9]  Kaisa Sere,et al.  Coordination in the ImpUNITY Framework , 1996, COORDINATION.

[10]  Daniel Le Métayer,et al.  The GAMMA Model and Its Discipline of Programming , 1990, Sci. Comput. Program..

[11]  M. Boasson Control systems software , 1993 .

[12]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[13]  Maarten Boasson,et al.  The Artistry of Software Architecture , 1995, IEEE Softw..

[14]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[15]  Edwin D. de Jong,et al.  A software architecture for distributed control systems and its transition system semantics , 1998, SAC '98.

[16]  Tony Hoare A Theory of Asynchronous Processes , 1989 .

[17]  C. A. R. Hoare,et al.  Unifying theories of programming , 1998, RelMiCS.

[18]  M. B. Josephs,et al.  An overview of D-I algebra , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[19]  P Dechering,et al.  Formalization of a software architecture for embedded systems: Splice as dataflow network , 1998 .

[20]  Jean-Marie Jacquet,et al.  On the semantics of μ Log , 1994, Future Gener. Comput. Syst..