Title :
Object analysis patterns for embedded systems
Author :
Konrad, Sascha ; Cheng, Betty H C ; Campbell, Laura A.
Author_Institution :
Dept. of Comput. Sci. & Eng., Michigan State Univ., East Lansing, MI, USA
Abstract :
Some of the most challenging tasks in building a software system are capturing, refining, and analyzing requirements. How well these tasks are performed significantly impacts the quality of the developed software system. The difficulty of these tasks is greatly exacerbated for the software of embedded systems as these systems are commonly used for critical applications, have to operate reliably for long periods of time, and usually have a high degree of complexity. Current embedded systems software development practice, however, often deals with the (requirements) analysis phase in a superficial manner, instead emphasizing design and implementation. This research investigates how an approach similar to the well-known design patterns, termed object analysis patterns, can be applied in the analysis phase of embedded systems development, prior to design and coding. Specifically, our research explores how object-oriented modeling notations, such as the Unified Modeling Language (UML), can be used to represent structural and behavioral information as part of commonly occurring object analysis patterns. This work also investigates how UML-based conceptual models of embedded systems, based on the diagram templates in the object analysis patterns, can be automatically analyzed using the Spin model checker for adherence to properties specified in linear-time temporal logic (LTL) using a previously developed UML formalization framework. We have applied these patterns to several embedded systems applications obtained from the automotive industry. This paper describes one of our case studies and illustrates how our approach facilitates the construction of UML-based conceptual models of embedded systems and the analysis of these models for adherence to functional requirements.
Keywords :
Unified Modeling Language; embedded systems; formal specification; formal verification; object-oriented methods; object-oriented programming; software quality; temporal logic; Spin model checker; Unified Modeling Language; automotive industry; behavioral information; design pattern; embedded system; linear-time temporal logic; object analysis pattern; object-oriented modeling; software development; software system; structural information; Application software; Automatic logic units; Embedded software; Embedded system; Information analysis; Object oriented modeling; Pattern analysis; Programming; Software systems; Unified modeling language;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2004.102