1 / 28 Harmony: An Approach and Tool for Combining Semi-formal and Formal Notations in Software Specification CS 791z Topics on Software Engineering Instructor’s.

Slides:



Advertisements
Similar presentations
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Advertisements

IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Hydra (A General Framework for Formalizing UML with Formal Languages for Embedded Systems*) *from the Ph.D. thesis of William E. McUmber Software Engineering.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
Software Testing and Quality Assurance
Detailed Design Kenneth M. Anderson Lecture 21
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
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
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Transitioning From Software Requirements Models to Design Models
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
Requirements Expression and Modelling
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Uml is made similar by the presence of four common mechanisms that apply consistently throughout the language. After constructing or developing the architecture.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
The Unified Modeling Language (UML)
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Requirement Specification SRS document is a contract between the development team and the customer How do we communicate the Requirements to others? Firm.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
UML Diagrams By Daniel Damaris Novarianto S..
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
SysML v2 Formalism: Requirements & Benefits
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Methods, Models, Madness
UML Diagrams Jung Woo.
Component-Level Design
Component-Level Design
Unified Modeling Language
Introduction to UML.
UML profiles.
Software Design Lecture : 15.
Software Design Lecture : 14.
Dynamic Modeling Lecture # 37.
Introduction to Pattern Oriented Analysis and Design (POAD)
Software Development Process Using UML Recap
Presentation transcript:

1 / 28 Harmony: An Approach and Tool for Combining Semi-formal and Formal Notations in Software Specification CS 791z Topics on Software Engineering Instructor’s Research April 19, 2004

2 / 28 Outline n n Context n n A Procedural Frame n n The Harmony Tool n n Conclusions

3 / 28 Context: The Harmony Project n n Proposal of an approach for specifying time- constrained systems (TCS) based on the combined use of UML (graphical, semi-formal notation) and Z++ (formal notation) n n Topic placed at the confluence of three paradigms:   object-orientation   formal specification   visual representation

4 / 28 Context: Why Integrate? n n Combine benefits   Graphical notations easy to use   Formal methods precise n n Different aspects of the system need different ways of description n n Provide choices

5 / 28 Context: Research Space and Location

6 / 28 Strategies for Integration n n Integration of notations:   Semi-formal/Formal   Semi-formal/Semi-formal   Formal/Formal n n Types of semi-formal/formal integrations:   Derivation or (simple) formalization   Complementary formalization   Tight integration, involving two-way translations

7 / 28 Related Work n Similar approaches:  Jia’s AML  Noe and Hartrum’s extension of Rational Rose  France et al.’s blending of Octopus and Z  Headway System’s RoZeLink  Kim and Carrington’s UML/Object-Z combination n Our approach is distinct from all the above in at least one major aspect: variant of Z involved, provisions for dealing with RTS, tight integration of notations, or type of supporting environment

8 / 28 Notations: UML n n “Graphical language for visualizing, specifying, constructing, and documenting the artifacts of software- intensive systems” [G. Booch] n n OMG standard notation for object modeling n n Includes structural & behavioral model elements n n Extension mechanisms: stereotypes, tagged values, constraints n n Support for RTS: events, signals, active classes, finite- state machines, timing marks and expressions n n However, for rigorous development supplementary formalization is necessary

9 / 28 Notations: Notations: UML - Example of Class Diagram

10 / 28 Notations: Notations: UML - Example of State Diagram

11 / 28 Notations: Notations: Z++ n n Created by Lano and Haughton n n Essentially, extends Z with the class construct n n Closer to implementation than other formal languages n n Support for dealing with time in the HISTORY clause: Temporal Logic or Real-Time Logic (RTL) formulae

12 / 28 Notations: Z++ Class ZPP_Class ::= CLASS Identifier [TypeParams] [EXTENDSAncestors] [TYPES TypeDefs] [FUNCTIONS AxiomaticDefs] [OWNS Locals] [RETURNS OpTypes] [OPERATIONS OpTypes] [INVARIANT Predicate] [ACTIONSActions] [HISTORYHistory] END CLASS

13 / 28 Translations UML/Z++: Overview n Formalization = UML to Z++ translation n Deformalization = Z++ to UML translation n Algorithms for automated translations have been proposed n Formalization of both structure and behavior  Rules and principles for translating class diagrams (algorithm AFCD)  Rules and principles for translating state diagrams (AFSD) n Principles for reverse translation (ADF)

14 / 28 A Procedural Frame n n Series of activities in which model artifacts are produced n n Subset of UML used (“2+1 views”) n n Artifacts:   UML elements: use case diagrams, scenarios, sequence diagrams, class diagrams, and class compounds   Z++ specifications: Z++ classes and statements n n Activities organized in stages   ‘Regular’ and ‘irregular’ sequences of activities

15 / 28 A Procedural Frame

16 / 28 Regular Flow of Activities

17 / 28 Irregular Flow of Activities

18 / 28 The Harmony Tool: Characteristics n n Sustains the development of combined UML/Z++ models n n Operates on specification projects n n Monolithic construction n n Options for automated translations n n Support for class compounds n n Tandem mode of operation n n Provisions for interfacing with external tools

19 / 28 Harmony: The Browser

20 / 28 Harmony: Project Pane

21 / 28 Harmony: New Element Selector & Legend Pane

22 / 28 Harmony: Toolboxes

23 / 28 Harmony: Project Loaded

24 / 28 Harmony: UML Space (Class Diagram)

25 / 28 Harmony: Z++ Space (Class Spec)

26 / 28 Harmony: Z++ Space (Timing Constraints)

27 / 28 Conclusions: Summary n n Pragmatic semi-formal/formal combination of notations n n Formalization of UML constructs in Z++ n n Rigorous treatment of TCS via RTL n n Detailed design of the Harmony ISE n n Lightweight, rapid modeling process

28 / 28 Conclusions: Future Work (most on Andy ) n Enhancement of algorithms n Refinement of the tool’s functionality n Implementation of Harmony n Syntax checker for Z++ n More applications