Pattern-driven Reuse of Behavioral Specifications in Embedded Control System Design

Methods and approaches in systems engineering are often based on the results of empirical observations or on individual success stories. Every real-world embedded system design stems from decisions based on an application domain knowledge that includes facts about some previous design practice. Evidently, such decisions relate to system architecture components, called in this paper as application patterns, which determine not only a required system behavior but also some presupposed implementation principles. Application patterns should respect those particular solutions that were successful in previous relevant design cases. While focused on the system architecture range that covers more than software components, the application patterns look in many features like wellknown software object-oriented design concepts such as reusable patterns (Coad and Yourdon, 1990), design patterns (Gamma et al., 1995), and frameworks (Johnson, 1997). By the way, there are also other related concepts such as use cases (Jacobson, 1992), architectural styles (Shaw and Garlan, 1996), or templates (Turner, 1997), which could be utilized for the purpose of this paper instead of introducing a novel notion. Nevertheless, application patterns can structure behavioral specifications and, concurrently, they can support architectural components specification reuse. Nowadays, industrial scale reusability frequently requires a knowledge-based support. Case-based reasoning (see e.g. Kolodner, 1993) can provide such a support. The method differs from other rather traditional procedures of Artificial Intelligence relying on case history: for a new problem, it strives for a similar old solution saved in a case library. Any case library serves as a knowledge base of a case-based reasoning system. The system acquires knowledge from old cases while learning can be achieved accumulating new cases. Solving a new case, the most similar old case is retrieved from the case library. The suggested solution of a new case is generated in conformity with the retrieved old case. This book chapter proposes not only how to represent a system’s formal specification as an application pattern structure of specification fragments, but also how to measure similarity of formal specifications for retrieval. In this chapter, case-based reasoning support to reuse is focused on specifications by finite-state and timed automata, or by state and timed-state

[1]  Radimír Vrba,et al.  Pattern-driven reuse of embedded control design - behavioral and architectural specifications in embedded control system designs , 2007, ICINCO-ICSO.

[2]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[3]  Anish Arora,et al.  Component Based Design of Multitolerant Systems , 1998, IEEE Trans. Software Eng..

[4]  Flavio Oquendo,et al.  Software Architecture , 2004, Lecture Notes in Computer Science.

[5]  Lamia Labed Jilani,et al.  Defining and Applying Measures of Distance Between Specifications , 2001, IEEE Trans. Software Eng..

[6]  Janet L. Kolodner,et al.  Case-Based Reasoning , 1989, IJCAI 1989.

[7]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[8]  Miroslav Svéda,et al.  Knowledge preserving development: a case study , 1997, Proceedings International Conference and Workshop on Engineering of Computer-Based Systems.

[9]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[10]  Richard L. Piazza,et al.  Design Recovery for Distributed Systems , 1997, IEEE Trans. Software Eng..

[11]  Jeannette M. Wing,et al.  Specification matching of software components , 1997 .

[12]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[13]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[14]  Ralph E. Johnson,et al.  Frameworks = (components + patterns) , 1997, CACM.

[15]  Steven Atkinson,et al.  Modelling formal integrated component retrieval , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[16]  Axel van Lamsweerde,et al.  Inferring Declarative Requirements Specifications from Operational Scenarios , 1998, IEEE Trans. Software Eng..

[17]  Neelam Soundarajan,et al.  Inheritance: from code reuse to reasoning reuse , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[18]  Birgit Geppert,et al.  The SDL pattern approach - a reuse-driven SDL design methodology , 2001, Comput. Networks.

[19]  Ji Wang,et al.  Formal Design of Hybrid Systems , 1994, FTRTFT.

[20]  Radimír Vrba,et al.  Fault maintenance in embedded systems applications - multiple lift control system as safety critical embedded application , 2006, ICINCO-ICSO.

[21]  Miroslav Svéda Embedded system design: a case study , 1996, Proceedings IEEE Symposium and Workshop on Engineering of Computer-Based Systems.

[22]  Neil A. M. Maiden,et al.  The Domain Theory for Requirements Engineering , 1998, IEEE Trans. Software Eng..

[23]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[24]  Grzegorz Rozenberg,et al.  Real-Time: Theory in Practice: Rex Workshop, Mook, the Netherlands, June 3-7, 1991: Proceedings , 1992 .

[25]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[26]  Miroslav Svéda,et al.  An Approach to Safety Critical Systems Design , 1997, EUROCAST.

[27]  Scott Henninger,et al.  An environment for reusing software processes , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[28]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[29]  Scott Henninger,et al.  An evolutionary approach to constructing effective software reuse repositories , 1997, TSEM.

[30]  Kenneth J. Turner,et al.  Relating Architecture and Specification , 1997, Comput. Networks ISDN Syst..

[31]  Thomas A. Henzinger,et al.  Logics and Models of Real Time: A Survey , 1991, REX Workshop.

[32]  Roland Mittermeir,et al.  Storing and retrieving software components: a refinement based system , 1994, ICSE '94.

[33]  Miroslav Svéda,et al.  Patterns for Embedded Systems Design , 1999, EUROCAST.