M INERVA (Metamodel-based Intuitive Editors with Reports and Visualizations of Analysis) Laura A. Campbell Advisor: Dr. Betty H.C. Cheng Software Engineering.

Slides:



Advertisements
Similar presentations
UPPAAL Introduction Chien-Liang Chen.
Advertisements

Software system modeling
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Hydra (A General Framework for Formalizing UML with Formal Languages for Embedded Systems*) *from the Ph.D. thesis of William E. McUmber Software Engineering.
Visualization Kenny Inthirath.  Reviewing a Suitable Technique to Use  Scope and Purpose  What types of models can be represented?  Architectural.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Object-Oriented Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Smart Cruise, an application of M INERVA and Hydra Dr. William E. McUmber, Laura A. Campbell, and Dr. Betty H.C. Cheng This work is supported in part by.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
Metrics-Based Analysis of UML Designs Department of Computer Science & Engineering Ryan Stephenson Advisor: Prof. Betty H.C. Cheng Software Engineering.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
A given modeling and code generation framework Formalization of UML with Traceability Department of Computer Science & Engineering College of Engineering.
Department of Computer Science & Engineering College of Engineering Dr. Betty H.C. Cheng, Laura A. Campbell, Sascha Konrad The demand for distributed real-time.
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Formal Specification l Techniques for the unambiguous specification of software.
1 MERIDIAN and RAPIDware (and other SENS projects) Dr. Betty H.C. Cheng Software Engineering and Network Systems Lab Michigan State University
Chapter 4 System Models A description of the various models that can be used to specify software systems.
L. Dillon Software Engineering & Network Systems Laboratory Michigan State University 1 Getting Results From Testing Laura K. Dillon Software Engineering.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Systems Analysis and Design in a Changing World, Fourth Edition
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Chapter 5 System Modeling (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Prof. Hany H. Ammar, CSEE, WVU, and
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Dr. Mohamed Ramadan Saady 314ALL CH1.1 Chapter 1: Introduction to Compiling.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Chapter 4 – System Modeling Lecture 1 1Chapter 5 System modeling.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Chapter 5 – System Modeling
Systems Analysis and Design in a Changing World, Fourth Edition
UML Diagrams By Daniel Damaris Novarianto S..
Chapter 5 System modeling
UML Diagrams Jung Woo.
System Modeling Chapter 4
Introduction to UML.
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Chapter 4 System Modeling.
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

M INERVA (Metamodel-based Intuitive Editors with Reports and Visualizations of Analysis) Laura A. Campbell Advisor: Dr. Betty H.C. Cheng Software Engineering and Network Systems Lab Michigan State University This work has been supported in part by NSF grants EIA , CDA , CDA , CCR , CCR , and DARPA grant No. F managed by Air Force’s Rome Laboratories, Eaton Corporation, and a Motorola doctoral fellowship.

M INERVA Overview Extends previous work (see Hydra) that attaches formal semantics to informal graphical object-oriented modeling notations (such as UML) in order to automatically generate formal specifications for a number of target languages. Investigates the integration of different techniques for automatically analyzing the graphical diagrams via their formal specifications with existing analysis tools. Explores visualization of analysis results within the context of the original graphical diagrams, augmentation of the diagrams with added information, and report generation.

Hydra Overview M INERVA, a complementary system to Hydra, is designed both as a graphical front-end to the Hydra tool and as a visualization environment for analysis results. Underlying the Hydra tool is a general framework for attaching semantics to Unified Modeling Language (UML) graphical diagrams via formal languages. Hydra parses a textual representation of an integrated collection of UML diagrams comprising a model of a software system. Hydra then generates appropriate formal specifications.

Architecture of M INERVA UML 1 Diagram in DoME 2 format Diagram reports Analysis reports Visualization commands HIL 3 Analysis results (raw) Analysis results (processed) UML diagram editors Plug-ins Perl scripts [1] Unified Modeling Language [2] M INERVA is built atop DoME, Honeywell’s Domain Model Editing utility ( [3] Hydra Intermediate Language

Using M INERVA M INERVA Hydra Analysis tool UMLHIL Analysis results Diagram reports Analysis reports Spec* * Hydra can automatically generate formal specifications for a number of target languages, including VHDL and Promela. The analysis tool used would be appropriate for the target language.

Diagram Well-Formedness M INERVA ’s graphical class and state diagram editors prevent the construction of diagram components that are inconsistent with the syntax for that type of diagram. M INERVA checks for structural anomalies within diagrams, such as missing start states or the presence of “sinks” (states that cannot be exited, or “deadlock” states). Hydra performs checks for structural inconsistencies between diagrams, such as use of an instance variable or signal/message without it having been declared, or expecting a signal/message that no object sends.

Structural Analysis Structural analysis ensures that UML diagrams are well-formed prior to generating any formal specifications. M INERVA handles graph- oriented analyses (within a diagram) while Hydra performs parser/compiler-oriented analyses (between diagrams). Early elimination of such errors enables more effective use of “heavy-duty” specification analysis tools. M INERVA Hydra Analysis tool HIL Spec feedback

Behavioral Analysis After formal specifications are generated, analyses such as simulation or model checking may be applied. Model checking is, in general, an exhaustive technique that checks properties against the entire state space of a model, giving a counterexample when verification fails. M INERVA visualizes analysis results within the context of the original UML diagrams. M INERVA Hydra Analysis tool HIL Spec feedback

Formal Specification Analysis Simulation enables validation of behavioral requirements and debugging of the system design. Model checking can find deadlocks, test system invariants against the model, and verify temporal claims. –Deadlock usually indicates a communication protocol error between objects in the system. –System invariants may check that a value never falls outside a certain range or that an object never enters a particular state. –Temporal claims usually test properties such as “something always happens,” “something never happens,” or “one thing happening leads to another thing happening.”

Analysis Results in Context A formal specification of a collection of UML diagrams is one step removed from its original representation and usually loses structural information. The analysis results output by formal specification tools such as Bell Labs’ model checker SPIN are often cryptic, and execute steps at a much finer granularity than depicted in UML diagrams. For these reasons, we try to eliminate structural errors prior to generating specifications and visualize analysis results at a more abstract level within the UML diagrams.

Visualizations Within the original UML diagrams, M INERVA highlights structural anomalies and inconsistencies so that the user may quickly correct such errors. Trace data from simulations or counterexamples from model checking can be used to animate existing state diagrams. Work is in progress to automatically generate collaboration and sequence diagrams from trace data to augment the playback of state diagram execution. M INERVA generates reports in human-readable textual format for inclusion in documentation.

State Diagram State diagrams depict object behavior: events on transitions (arcs) can cause a change of state (rounded rectangles). By instrumenting the HIL (Hydra Intermediate Language) representation, M INERVA can gather feedback about states, transitions, or both from the simulation and counterexample traces. As states are entered or transitions are taken, M INERVA highlights them in the diagram. Working Waiting for reset Counting down Handling errors Microprocessor Watchdog ErrorHandler reset setError [count=0]/count:=100; ^ErrorHandler.error; ^Microprocessor.reset error ^Microprocessor.setError;

Collaboration Diagram Collaboration diagrams depict communication between objects (rectangles) with message pathways (directed lines). While state diagrams describe how objects communicate via events, the actual pathway between them is not visualized. When playing back trace data, M INERVA highlights message pathways as they are used and may display object attributes or contents of an object’s queue. Microprocessor Q: {reset, setError} Watchdog count=100 ErrorHandler 1: error 2: reset 3: setError

Sequence Diagram Sequence diagrams are both the complement to state diagrams and the isomorphic equivalent of collaboration diagrams, depicting a single sequence of message sends and receives (directed arrows) over time (a vertical line per object). Message ordering and race conditions can be visualized with sequence diagrams. The Microprocessor will deadlock due to an unexpected sequence. Micro.Watchdog Error Handler Working Counting down Handling errors error reset setError

Report Generation M INERVA can generate textual reports based either on trace data gathered from analysis tools or on the original UML diagrams comprising the system. Reports based on trace data are the textual equivalent of animated playback of a trace sequence and are a useful complement to diagrams in documentation. Reports based on the UML diagrams include rough metrics for judging system complexity and a comprehensive listing of all elements in the system to aid in the construction of a data dictionary.

Applications and Future Work Together with Hydra, M INERVA has been used to model a Smart Cruise Control system in Promela and to display both structural and behavioral errors within the original UML diagrams. Current investigations include using M INERVA and Hydra to model an Electronically Controlled Steering system to validate the analysis and visualization techniques. Futher use of M INERVA, Hydra, and existing analysis tools will suggest improvements for the ease-of-use and error- checking capabilities of both M INERVA and Hydra.