Requirements patterns for embedded systems

In software engineering, design patterns propose solution skeletons for common design problems. The solution skeleton is described in such a way that the design can be used for other projects, where each application tailors the design to specific project constraints. This paper describes research into investigating how a similar approach to reuse can be applied to requirements specifications, which we term requirements patterns. Specifically, the paper explores how object-oriented modeling notations, such as the Unified Modeling Language (UML), can be used to represent common requirements patterns. Structural and behavioral information are captured as part of a requirements pattern. In order to maximise reuse, we focus on requirements patterns for embedded systems. This paper also describes case studies that illustrate how we have applied these general patterns to multiple embedded systems applications from the automotive industry.

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

[2]  Michael A. Jackson,et al.  Problem Frames - Analysing and Structuring Software Development Problems , 2000 .

[3]  Michael Hahsler,et al.  Software engineering with analysis patterns , 2001 .

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

[5]  Kevin Ryan,et al.  The role of natural language in requirements engineering , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[6]  Daniel Gross,et al.  From Non-Functional Requirements to Design through Patterns , 2001, Requirements Engineering.

[7]  Betty H. C. Cheng,et al.  A general framework for formalizing UML with formal languages , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[8]  Wolfgang Keller Object/Relational Access Layers A Roadmap, Missing Links and More Patterns , 2004 .

[9]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[10]  Robert S. Hanmer,et al.  Fault-tolerant telecommunication system patterns , 1996 .

[11]  Bruce P. Douglass,et al.  Doing hard time: developing real-time systems with uml , 1999 .

[12]  Mary Shaw,et al.  Some patterns for software architectures , 1996 .

[13]  Suzanne Robertson,et al.  Requirements Patterns Via Events/Use Cases , 1996 .

[14]  José Alves Marques,et al.  Development of distributed applications with separation of concerns , 1995, Proceedings 1995 Asia Pacific Software Engineering Conference.

[15]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[16]  W. D. Jones,et al.  Keeping cars from crashing , 2001 .

[17]  Shailey Minocha,et al.  Supporting Scenario-Based Requirements Engineering , 1998, IEEE Trans. Software Eng..