Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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


Download ppt "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."

Similar presentations


Ads by Google