S oftware E ngineering & N etwork S ystems Lab A Requirements Pattern-Driven A Requirements Pattern-Driven Approach to Modeling and Approach to Modeling and Analyzing Embedded Systems Analyzing Embedded Systems Betty H.C. Cheng Software Engineering and Network Systems Lab Michigan State University This work is supported in part by: Grants from NSF EIA-0000433, EIA-0130724, CDA-9700732, CCR-9901017, Department of the Navy, Office of Naval Research under Grant No. N00014-01-1-0744, and DARPA grant No. F30602-96-1-0298, managed by Air Force’s Rome Laboratories, Siemens Corporate Research, Eaton Corporation, Motorola, and in cooperation with Siemens Automotive and Detroit Diesel Corporation.
55
Embed
S oftware E ngineering & N etwork S ystems Lab A Requirements Pattern-Driven Approach to Modeling and Analyzing Embedded Systems Betty H.C. Cheng Software.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
S oftwareE ngineering &N etworkS ystems Lab
A Requirements Pattern-Driven A Requirements Pattern-Driven Approach to Modeling and Analyzing Approach to Modeling and Analyzing
Embedded SystemsEmbedded Systems
Betty H.C. Cheng
Software Engineering and Network Systems Lab
Michigan State University
This work is supported in part by:
Grants from NSF EIA-0000433, EIA-0130724, CDA-9700732, CCR-9901017, Department of the Navy, Office of Naval Research under Grant No. N00014-01-1-0744, and DARPA grant No. F30602-96-1-0298, managed by Air Force’s Rome Laboratories, Siemens Corporate Research, Eaton Corporation, Motorola, and in cooperation with Siemens Automotive and Detroit Diesel Corporation.
S oftwareE ngineering &N etworkS ystems LabSoftware Engineering and Network Software Engineering and Network
Systems LaboratorySystems Laboratory
Research sponsored by NSF, ONR, DARPA, DOE, NASA, EPA, and several industrial partners
• Many embedded systems require high assurance (e.g. automotive, medical)
• Requirements modeling and analysis – One of the most difficult tasks in software development– Focus on behavioral specification of system activities– Describes a system’s modes of operation and events that
cause mode changes
• Challenges for embedded system development:– Software does not execute in isolation:
• Environment (including User)• Hardware
– Current technology involves ad hoc techniques from natural language specifications to code
• ES community interested in using OO and UML
Overview:
Introduction
UML Formalization
Process
Conclusions
Future Work
Req. Patterns
8
S oftwareE ngineering &N etworkS ystems Lab
Problem StatementProblem Statement
• Desirable properties of requirements analysis documents:– Easy to interpret– Structural description of system– Behavioral description of system – Descriptions should be concise and correct– Requirements analyzable for critical properties
Overview:
Introduction
UML Formalization
Process
Conclusions
Future Work
Req. Patterns
9
S oftwareE ngineering &N etworkS ystems Lab
General ApproachGeneral Approach
• Objective:– Easy to use notation and technique for capturing
requirements– Notation must be amenable to rigorous analysis
• Proposed Solution:– Provide process and requirements patterns for
constructing UML diagrams– Formalizing UML enables automated analysis of
UML diagrams– Visualize analysis errors in terms of original UML
diagrams
• Project Collaborators:– Dr. Kurt Stirewalt– Dr. L. Campbell, Dr. W. McUmber, Dr. E. Wang– R. Bourdeau, G. Coombs, M. Deng, H. Goldsby, S.
Konrad
Overview:
Introduction
UML Formalization
Process
Conclusions
Future Work
Req. Patterns
10
S oftwareE ngineering &N etworkS ystems Lab
OutlineOutline
Introduction
UML Formalization
Modeling and Analysis Process
Conclusions
Future Work
Requirements Patterns
Overview:
Introduction
UML Formalization
Process
Conclusions
Future Work
Req. Patterns
11
S oftwareE ngineering &N etworkS ystems Lab
UML FormalizationUML Formalization
• Automate translation of diagrams into a formal language– OMT Formalization
• [TSE95, ICSE97, J. SEKE00, TSE02, IWSSD00, DSN00]
– UML Formalization [HASE99, ICSE01]
• General framework for mapping diagrams to multiple formal languages
• Embedded systems domain• Currently targets Promela
– Hydra• Mapping from UML to the target language (such as
Promela, VHDL)• Enables execution through simulation and analysis
through model checking
Overview:
Introduction
UML Formalization
Process
Conclusions
Future Work
Req. Patterns
12
S oftwareE ngineering &N etworkS ystems Lab
UML MetamodelUML Metamodel
• Metamodel defines UML syntax using class diagram notation.
• Semantics not defined by metamodel
• Note: Any language or diagram syntax can be defined with a metamodel
• Intent• Also Known As• Motivation• Applicability• Structure• Participants• Collaborations• Consequences• Implementation• Sample Code• Known Uses• Related Patterns
Design Pattern Design Pattern TemplateTemplate • Pattern Name and
Classification• Intent• Motivation (incl. use cases)• Constraints• Applicability• Structure (class diagram)• Behavior (sequence, state)• Participants• Collaborations • Consequences• Design Patterns• Also Known As• Related Patterns
• describes how to capture high-level information about communication capabilities offered by an embedded system, •such as sending periodic heart beat messages to other systems.
Computing Component:
• specifies various operational modes of an embedded system, •such as fail-safe modes that a system enters in response to occurring faults.
Detector-Corrector:
• detectors offer fault detection capabilities,• correctors offer fault correction capabilities, and •the interaction between both types of components is controlled by a local fault handler.
Fault Handler : • A global fault handler collects fault messages from the local fault handlers and • Acts as a central coordinator for system recovery and safety.
Overview:
Introduction
UML Formalization
Process
Conclusions
Future Work
Req. Patterns
28
S oftwareE ngineering &N etworkS ystems Lab
Actuator-Sensor:
• specifies basic types of sensors and actuators in an embedded system and • describes how relationships between these actuators and sensors and other components in the system can be captured.
Controller Decompose:
• describes how to decompose an embedded system into different components according to their responsibilities.
User Interface:
• describes how to specify an object model for a user interface that is extensible and reusable.
Structural PatternsStructural PatternsOverview:
Introduction
UML Formalization
Process
Conclusions
Future Work
Req. Patterns
30
S oftwareE ngineering &N etworkS ystems Lab
Actuator-Sensor PatternActuator-Sensor Pattern
• Motivation:– ES have various kinds of
sensors/actuators– Can distinguish two main categories
of sensors:• PassiveSensors (pull: controller requests
information)• ActiveSensors (push: sends information
[RHAS03]– Examine how to abstract model specifications
• Other projects:– RAPIDware (ONR adaptive middleware project)– Safeness and Correctness of adaptations– Feature Interactions– Use AOP to weave adaptability– Code generation for adaptations.
Overview:
Introduction
Background
Process
Conclusions
Future Work
53
S oftwareE ngineering &N etworkS ystems Lab
AcknowledgementsAcknowledgements
• Software Engineering and Networking Systems Faculty/Students
• This work has been supported in part by • NSF grants EIA-0000433, EIA-0130724, CDA-
9700732, CCR-9901017, Department of the Navy, Office of Naval Research under Grant No. N00014-01-1-0744, and DARPA grant No. F30602-96-1-0298, managed by Air Force’s Rome Laboratories
• Eaton Corporation, Siemens Corporate Research, a Motorola doctoral fellowship, and in cooperation with Siemens Automotive and Detroit Diesel Corporation
Overview:
Introduction
Background
Process
Conclusions
Future Work
54
S oftwareE ngineering &N etworkS ystems Lab
ReferencesReferences[Gebhard]
[Broy]
[Glinz]
[Dwyer]
[Gamma]
Bernd Geghard, Martin Rappl, Requirements Management for Automotive Systems Development. SAE World Congress, 2000
Manfred Broy, Requirements Engineering for Embedded Systems. Workshop on Formal Design of Safety Critical Embedded Systems, 1997
Martin Glinz, Problems and Deficiencies of UML as a Requirements Specification Language. Proceedings of the Tenth International Workshop on Software Specification and Design, San Diego, 11-22, 2000
M. B. Dwyer, G. S. Avrunin, J. C. Corbett, Patterns in Property Specifications for Finite-State Verification. UM-CS-1998-035, 1998
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Abstraction and Reuse of Object-Oriented Design. Lecture Notes in Computer Science, vol. 707, p. 406 – 431, 1993
55
S oftwareE ngineering &N etworkS ystems Lab
Relevant PublicationsRelevant Publications
[TSE95][TSE95]
[IWSSD-10]
[DSN00]
[IJSEKE00]
[ICSE01]
[RE01][RE01]
``A Formal Semantics of Object Models'' R.H. Bourdeau and B. Cheng, IEEE Trans. on Software Engineering, Vol. 21, No. 10, pp. 799--821, October 1995.“Object-Oriented Modeling and Automated Analysis of a Telemedicine Application,” L Campbell and B. Cheng, IEEE International Workshop on Software Specification and Design, November 2000. “Enabling Automated Analysis through the Formalization of Object-Oriented Modeling Diagrams,” L. Campbell, B. Cheng, and E. Wang, IEEE Dependable Systems and Networks, June 2000. “Formalizing the Functional Model within Object-oriented Design,” E. Wang and B. Cheng, International Journal on Software Engineering and Knowledge Engineering, Vol 10, No. 1, February 2000.
“A General Framework for Formalizing UML with Formal Language,”. William E. McUmber, Betty H.C. Cheng, Proceedings of IEEE International Conference on Software Engineering, Toronto, 2001
“Integrating Informal and Formal Approaches to Requirements Modeling and Analysis,” L. Campbell and B. Cheng, IEEE Requirements Engineering, Poster Workshop, August 2001.
56
S oftwareE ngineering &N etworkS ystems Lab
Relevant PublicationsRelevant Publications
“Adding Formal Specifications to Requirements Patterns,” Betty H.C. Cheng, Laura A. Campbell, and Sascha Konrad, International Workshop on Requirements for High Assurance Systems, Essen, September 2002
“Requirements Patterns for Embedded Systems,” Sascha Konrad and Betty H.C. Cheng, Proc. Of IEEE 10th International Requirements Engineering Conference, Essen, September 2002
``Automatically detecting and visualizing errors in UML diagrams,‘‘ Laura A. Campbell, Betty H. C. Cheng, William E. McUmber, and R. E. K. Stirewalt, Requirements Engineering Journal, 7(4):264-287, 2002.
“Formalizing and Integrating the Dynamic Model for Object-Oriented Modeling,” B. Cheng and E. Wang, IEEE Transactions on Software Engineering, Vol 28, No. 8, August, 2002.
“A Requirements Pattern-Driven Approach to Specify Systems and Check Properties” S. Konrad, L. Campbell, B. Cheng, M. Deng, SPIN 2003, May 2003. (Co-located with ICSE03.)
“Using Security Patterns to Model and Analyze Security Properties,” S. Konrad, B. Cheng, L. Campbell, R. Wassermann, IEEE Workshop on Requirements for High Assurance Systems, September 2002. (Co-located with RE02.)
[RHAS02]
[RE02]
[REJ02]
[TSE02][TSE02]
[SPIN03][SPIN03]
[RHAS03][RHAS03]
57
S oftwareE ngineering &N etworkS ystems Lab
Relevant PublicationsRelevant Publications
``Automated Analysis of Timing Information in UML Diagrams,'' Sascha Konrad, Laura Campbell, and Betty H.C. Cheng), Proc. of IEEE International Conference on Automated Software Engineering (to appear), September 2004, Linz Austria.
``Retrieval-By-Construction: A Traceability Technique to Support Verification and Validation of UML Formalizations,'' M. Deng, R.E.K. Stirewalt, and B. Cheng submitted to International Journal on Software Engineering and Knowledge Engineering, Special issue on Traceability, June 2004.
``Object Analysis Patterns for Embedded Systems,'' S. Konrad, L. Campbell, and B. Cheng, revision under review for IEEE Transactions on Software Engineering, August 2004.