Presentation is loading. Please wait.

Presentation is loading. Please wait.

Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,

Similar presentations


Presentation on theme: "Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,"— Presentation transcript:

1 Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October, 2003

2 Agenda Z and OCL ZOOM Notation ZOOM Framework ZOOM Supporting Tools Research Description

3 Formal Method - Z The popular formal specification notation Based upon the set theory and mathematical logic Used in software modeling, design, and verification Practical, Beneficial, Cost-effective But … Short of supporting tools and experienced developers Does not support object oriented modeling aspects such as class inheritance

4 Object Constraints Language (OCL) Textual, formal specification language that allows the compact notation of precise, side- effect-free constraints on instances of UML models. Pure expression, modeling, typed and specification language. Specify invariants on classes and attributes, constraints, pre- and post-conditions on methods. Support tools such as Dresden OCL, USE.

5 ZOOM Z-based Object Oriented Modeling notation Extend Z to support object oriented notation Formal foundation to support MDD Provide text and graphic representation of models consistent with UML diagrams Support formal specification constraints (pre- and post-conditions, invariants) Java-like object oriented syntax Strongly typed, support inheritance and generic types

6 Core-ZOOM Part of ZOOM notation Can be used as a meta- modeling language to model MOF/OCL Goal: Describe UML semantics Z, Core-ZOOM, and UML UML Core-ZOOM MOFOCL Z Reduce

7 Core-ZOOM Specification Consist of - set of declarations - set of state definitions - set of user roles - set of use cases Easy for human to understand Format: HTML, XML, Use case diagram

8 ZOOM Framework Scope Cover full aspects of a software system Static / Dynamic parts User Interface Representation Textual Specification Graphical View: Consistent with UML diagrams

9 ZOOM Framework ZOOM Models Structural Model Behavior Model User Interface Model Event-Driven Framework

10 ZOOM – Structural Model Formally define the functionality part of the system using object-oriented concepts Platform independent Provide Relations and hierarchy of classes Precise specification for the functionality of entities

11 ZOOM – Structural Model Example module zoom.examples.addressbook; class AddressBook implements Serializable{ String title; List[AddressBookEntry] entries; delegates entries; Set[AddressBookEntry] search (SearchCriterion criterion){ requires { criterion != null; } ensures { search != {AddressBookEntry entry | entry in entries && entry.matchAddressBookEntry(criterion)} }

12 ZOOM – Behavior Model Use formalized state diagram to specify the dynamic part of the system Graphic representation is consistent with state chart Support nested states definition and concurrent state change definition Central communication mechanism to connect Structural Model and User Interface Model

13 ZOOM – Behavior Model Example fsm MachineserviceStat(){ state inService{ fsm MachineopStat(){ state standingBy; state turningOnMotor; state accelerating; state running; state decelerating; tr standingBy to turningOnMotor: operatorStartsMachine(runSpeed)/safetyBrake.turnOff(),mainMotor.turnOn( runSpeed, out runSpeedOK); tr turrningOnMotor to standingBy : standBy [runSpeedOK != TRUE]/mainMotor.turnOff(),safetyBrake.turnOn(); tr turningOnMotor to accelerating: accelerate [runSpeedOK == TRUE]; } state inRepair; state waitingForRepair; }

14 ZOOM – User Interface Model Hierarchical description framework Use predefined UI components to construct UI and design the layout of those components Real implementation and appearance will be determined by specific platform Formal and platform independent Easier for code generation

15 ZOOM – Event-Driven Framework Integrate the three parts of ZOOM Model Event is used in state diagram to specify the dynamic nature of the system Event UI EventFSM Event Standard Event User-Defined Event

16 ZOOM – Supporting Tools Basic language support tools - act like compiler except optimization and code generation - Parser, Type Checker, UML Mapping Tools, Model Editor Model validation tools - support interactive and incremental development - exhibit the behavior of both Structural and Behavior models in an early stage - Interpreter, Animator

17 ZOOM – Supporting Tools Transformation tools - Code Synthesizer Analytical tools - Automated Theorem Prover - Static Analyzer - Unit Test Generator

18 Research Topic Comparison of ZOOM with Other Formal Methodologies Focus on the case studies of ZOOM with supporting tools Follow by the comparison with other formal modeling tools using OCL, Z, or other technologies.

19 Research Rationale ZOOM is Easier to understand - Java-like syntax Compatible with the current best practices in software development - complete software development process - integration of OO modeling, formal methods, iterative and agile development processes. Revolution of software development by providing a higher-level abstraction to build software systems instead of using low-level construction as programming language. This research will be Helpful for improving the performance of ZOOM project by comparison with other formal modeling methodologies.

20 Research Objective Case studies: Use ZOOM to develop the following cases: Academic model: Structural Model Railway control system: Behavior Model Membership management system: UI Model Address book application: Structural, Behavior and UI Models The comparison between ZOOM and OCL in following aspects: Language scope and capability Ease of use from developers’ view Level of abstraction The comparison of toolkit between ZOOM and OCL or other formal methodologies

21 Work Plan Phase 1 : Proposal Milestone 1: Technologies and Tools Review (Aug 2003) Milestone 2: Research Proposal (Sep 2003) Milestone 3: Research Web page (Sep 2003) Milestone 4: Initial Presentation (Oct 2003) Phase 2 : Case Studies Milestone 1: Build ZOOM Structural Model of Academic Model (Oct 2003) Milestone 2: Build ZOOM Behavior Model of Railway control system (Oct 2003) Milestone 3: Build ZOOM UI Model of Membership management system (Oct 2003) Milestone 4: Build Address book application with ZOOM framework (Oct 2003) Phase 3 : Comparison and Integration Milestone 1: Comparison with other formal toolkits (Nov 2003) Milestone 2: Work on final paper (Nov 2003) Milestone 3: Final presentation (Nov 2003)

22 Reference Hongming Liu, Lizhang Qin, Chris Jones, Xiaoping Jia, An Formal Foundation Supporting MDD -- ZOOM Approach, October 2003. Jonathan Jacky, The way of Z, Cambridge University Press, 1997 Katone, Verification and Validation. Object Constraint Language Specification, OMG, 2003

23 Question?


Download ppt "Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,"

Similar presentations


Ads by Google