Download presentation
Presentation is loading. Please wait.
1
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
2 / 28 Outline n n Context n n A Procedural Frame n n The Harmony Tool n n Conclusions
3
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
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
5 / 28 Context: Research Space and Location
6
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
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
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
9 / 28 Notations: Notations: UML - Example of Class Diagram
10
10 / 28 Notations: Notations: UML - Example of State Diagram
11
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
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
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
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
15 / 28 A Procedural Frame
16
16 / 28 Regular Flow of Activities
17
17 / 28 Irregular Flow of Activities
18
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
19 / 28 Harmony: The Browser
20
20 / 28 Harmony: Project Pane
21
21 / 28 Harmony: New Element Selector & Legend Pane
22
22 / 28 Harmony: Toolboxes
23
23 / 28 Harmony: Project Loaded
24
24 / 28 Harmony: UML Space (Class Diagram)
25
25 / 28 Harmony: Z++ Space (Class Spec)
26
26 / 28 Harmony: Z++ Space (Timing Constraints)
27
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 / 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.