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

Slides:



Advertisements
Similar presentations
1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Database Systems: Design, Implementation, and Management Tenth Edition
Ch 3 System Development Environment
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
ISBN Chapter 3 Describing Syntax and Semantics.
Unified Modeling Language
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Interpreter for ZOOM-I Andrew Deren Initial Presentation - SE690 5/30/03
Detailed Design Kenneth M. Anderson Lecture 21
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
A Formal Foundation Supporting MDD --- ZOOM Approach Hongming Liu Lizhang Qin 11/08/2003.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
© Copyright Eliyahu Brutman Programming Techniques Course.
Itntroduction to UML, page 1 Introduction to UML.
Describing Syntax and Semantics
UML Notations Activity diagrams State diagrams Class diagrams Use-case diagrams.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Chapter 1 The Systems Development Environment
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
UI/UI PROTOTYPE GENERATION Sum Pham. C ONTENTS Framework overview Current approaches Introduce a model-driven user interface generation.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Introduction To System Analysis and design
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
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.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
SE-280 Dr. Mark L. Hornick Design Review Issues. SE-280 Dr. Mark L. Hornick 2 Many expensive defects are a result of design problems Software applications.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Information System Development Courses Figure: ISD Course Structure.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
An Integrated Event-Driven Framework Supporting MDD Lizhang Qin, Hongming Liu Chris Jones, Xiaoping Jia.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
The Unified Modeling Language (UML)
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
1 Contractual Consistency Between BON Static and Dynamic Diagrams Ali Taleghani July 30, 2004.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Enterprise Systems Modeling EGN 5623 Enterprise Systems Optimization Fall, 2012.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Interpreting the Object Constraint Presented by: Ed Kausmeyer.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
SysML 2.0 Requirements for Visualization
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
SysML v2 Formalism: Requirements & Benefits
UML profiles.
Analysis models and design models
Copyright 2007 Oxford Consulting, Ltd
Software Architecture & Design
Presentation transcript:

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

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

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

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.

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

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

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

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

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

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

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)} }

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

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; }

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

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

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

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

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.

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.

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

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)

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

Question?