Controller patterns for component-based reactive control software systems

It is considered good practice in control software design to distinguish computation and coordination on the architectural level. Current component models largely fail to provide distinct abstractions for that purpose. In this paper, we introduce such distinct abstractions. In particular, we introduce controller patterns, an abstraction for defining coordination in the context of component-based software development. We present their definition and demonstrate their usage in a case study, conducted in our prototype tool.

[1]  Nenad Medvidovic,et al.  Towards a taxonomy of software connectors , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[2]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[3]  Kung-Kiu Lau,et al.  A Software Component Model and Its Preliminary Formalisation , 2005, FMCO.

[4]  Kung-Kiu Lau,et al.  Software Component Models , 2006, IEEE Transactions on Software Engineering.

[5]  Kung-Kiu Lau,et al.  A Taxonomy of Software Composition Mechanisms , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[6]  Pierre Boulet,et al.  Mode-Automata Based Methodology for Scade , 2005, HSCC.

[7]  Kung-Kiu Lau,et al.  A component model that is both control-driven and data-driven , 2011, CBSE '11.

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

[9]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[10]  Séverine Sentilles,et al.  A Classification Framework for Software Component Models , 2011, IEEE Transactions on Software Engineering.

[11]  Séverine Sentilles,et al.  A Component Model for Control-Intensive Distributed Embedded Systems , 2008, CBSE.

[12]  Doug Lea Design Patterns for Avionics Control Systems , 1998 .

[13]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

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

[15]  Patrik Haslum Patterns in Reactive Programs , 2004 .

[16]  Bran Selic An Architectural Pattern for Real-Time Control Software , 2007 .

[17]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .