Use of VeUML Janusz StateSoft.org Dr. Jerzy StateSoft.org StateSoft Inc Prof. Bogdan iit.edu Illinois Institute of Technology.

Slides:



Advertisements
Similar presentations
Need for Specification Techniques in NGN Janusz StateSoft.org Copyrights StateSoft Inc., This information is protected by one or more.
Advertisements

Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
StateSoft SG17 Workshop March Janusz Dobrowolski StateSoft Inc, Prof. Bogdan Korel Illinois Institute of Technology.
State Charts Mehran Najafi. Reactive Systems A reactive, event-driven, object is one whose behavior is best characterized by its response to events dispatched.
Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility.
Specification, Partitioning, and Composition Techniques for Web Applications in the Context of Event-B Abdolbaghi Rezazadeh Michael Butler University of.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
ISBN Chapter 3 Describing Syntax and Semantics.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Communication Notation Part V Chapter 15, 16, 18 and 19.
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
Unified Modeling (Part I) Overview of UML & Modeling
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
1 CS/CPE 426 Senior Projects Chapter 21: State Machines Chapter 22:Advanced State Machines [Arlow and Neustadt 2005] March 24, 2009.
Chapter 1 Principles of Programming and Software Engineering.
Describing Syntax and Semantics
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Introduction SWE 619. Why Is Building Good Software Hard? Large software systems enormously complex  Millions of “moving parts” People expect software.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
An Introduction to Software Architecture
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
October 15, 2003 Copyrights  StateSoft Inc., This information is protected by one or more patent or patent pending. 1 Janusz Dobrowolski StateSoft.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
1 Introduction to Software Engineering Lecture 1.
UML-1 3. Capturing Requirements and Use Case Model.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Part VII: Design Continuous
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 6: Restaurant.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Advanced Computer Systems
UML Chapter 17.
UML Diagrams By Daniel Damaris Novarianto S..
UML Diagrams Jung Woo.
CS310 Software Engineering Dr.Doaa Sami
An Introduction to Software Architecture
Dynamic Modeling Lecture # 37.
Software Architecture & Design
Presentation transcript:

Use of VeUML Janusz StateSoft.org Dr. Jerzy StateSoft.org StateSoft Inc Prof. Bogdan iit.edu Illinois Institute of Technology (IIT) Copyrights  StateSoft Inc., This information is protected by one or more patent or patent pending. Workshop on Use of ITU-T Formal Languages July 19, 2004 StateSoft

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 2 Contents PIM Platform Independence Definition VeUML Modeling Goals VeUML Behavior Model Simplification Classes which should have behavior represented as State Machine models in VeUML. Projects Experience Independent iteration in Logical (PIM) and Physical (PSM) Architectures

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 3 VeUML Modeling Goals Maximizing the amount of automatically generated executable Maximize the amount of automatic validation Syntactically simplest models for complex systems Substantial complex system maintenance cost reduction

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 4 Things hard or impossible to achieve without MDA – Automatic Protocol, Platform and Services Generation – Automatic Validation – Services Feature Interactions Tracing – Construction of Toolkits aware of precise domain knowledge

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 5 Renaming the problem is not a Solution –Control –Behavior –Business Logic –Preconditions, Postconditions –Platform Independent Service Logic –Policies –Complex Decision Tables VeUML provides solution to the above problems

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 6 VeUML Key Approach to Conquer Behavior Complexity Separation of Domains: · Service and Protocol Logic from Platform · Class Data from Class Behavior · Behavior from Concurrency - (Generalized Objects Factory Pattern) · Events from Data · Actions from Data · Class behavior from the PSM Programming Language (e.g., C++, Java)

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 7 PIM Model Platform Independence Definition Independence from PSM programming language Independence from PSM Operating System Independence from PSM Data Base

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 8 Behavior Models Simplification

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 9 Statecharts State Diagram Statecharts DepthOrthogonality Broadcast Communication

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 10 Statecharts Notion of Depth VeUML : Depth is OK on post-synthesis only; during the modeling Depth leads to an observer rather than an implementer viewpoint. VeUML: Hierarchy of Classes not Hierarchy of State Machines Source of Drawing : Statecharts Definition

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 11 Orthogonality – the biggest Statecharts Fallacy VeUML and XUML view – Concurrency within a class is a proof of an improper OOA/OOD architectural decomposition Source of Drawing : Statecharts Definition

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 12 Orthogonality – the biggest Statecharts Fallacy VeUML and XUML view – There might had been never a reason to combine independent State Machines as shown on the left side figure. Source of Drawing : Statecharts Definition

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 13 Orthogonality – the biggest Statecharts Fallacy VeUML and XUML view – If one split State Machines without splitting associated data one is not doing OOA/OOD but rather SA/SD Source of Drawing : Statecharts Definition

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 14 Orthogonality – the biggest Statecharts Fallacy VeUML view – Concurrency and behavior are two independent system domains / aspects. Example: States “A” and “D” belong to separate Classes. For instance: Bank’s Procedures (application logic) is the same on Blade Servers and a Mainframe implementation. Source of Drawing : Statecharts Definition

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 15 Orthogonality – the biggest Statecharts Fallacy VCR Control: Statechart with AND-states - Speed and Direction. One familiar with the tape control will realize that reversing the direction of the tape movement at the full speed creates a risk of breaking the tape. A race and nondeterminism are problems associated with this model Speed Direction High_Speed ForwardBackward Low_Speed Source of Drawing : A text book example

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 16 Simplicity of executable models – the biggest VeUML/Vcharts advantage VCR Control without AND-states – Vchart This is an Implementation Domain Model that can be translated to code automatically and will be free of the race and nondeterminism problem Forward_High_Speed Backward_High_Speed Backward_Low_Speed Forward_Low_Speed

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 17 Statecharts Broadcast Communication VeUML: Eliminated as a non-deterministic mechanism Source of Drawing : Statecharts Definition

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 18 Statecharts: Condition Connector “C” VeUML view: ”C” is an unnecessary and confusing Pseudostate state1 state2 state3 state4 C ev[cond] [val>50] [val=50] [val<50]

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 19 Statecharts: History Connector VeUML view: History state reflects an external observer view of the behavior and NOT the implementer’s view of behavior. A leading source of design errors. H out in idle moving walk run

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 20 Statecharts: History Connector In an actual systems implementation it is a very rare case that one transit from several states to common state (H) and than return to “most currently visited state” without performing some transition specific actions on transition. History state had been eliminated in VeUML State2 State1 State3 H Suspend Resume

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 21 State Specification in VeUML State1 entry / Action1, Action2; input: / event1 & event2 | event3 /Action3, Action4; exit / Action5, Action6; Simplicity of the State Specification in VeUML greatly reduces chances for a modeling error.

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 22 VeUML Virtual Event Specification Virtual Events have a form of pure names UML Guard and Event are translated to two Virtual Events in VeUML Note: Comparators often generate Virtual Events oil_temp_exceeded & engine_running / Turn_fan1_On

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 23 Condition Specification Expression in the form of the &(and)’s and |(or)’s of Virtual Events Parameter values(true/false) are also translated to Virtual Events Condition Specification is the same for transitions as well as input actions within a state

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 24 VeUML Action Specification VeUML Actions have a form of pure names only: e.g Action1, Action2, Action3; Entry and Exit actions are unconditional Transition Actions are conditional Input Actions (within a state) are conditional as well

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 25 Condition / Actions Examples UML Tm(en(a), 3)[!overweight & doorClosed]/tr!(movable) reached[levelGap<30]/openDoor VeUML Temp_in_range & not_overweight & doorClosed / do_Not_move Level_reached & levelGap_less_than_minimum / openDoor

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 26 Class Behavior Representation in VeUML In VeUML all Statefull and Stateless Classes have behavior represented as Virtual Finite State Machines (Vcharts)

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 27 EJB Stateless Session Bean VeUML Notation (Vchart ) Does-Not-Exist Method-Ready-Pool input / BMrequest1 / Action1 input / BMrequest2 / Action2 …….. input / BMrequestN / ActionN PIM PSM ejbCreate ejbRemove

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 28 Events Processing Event1Event2Event3 Virtual Events Register VeUML Parallel Events Processing UML Serial Events Processing Event1Event2Event3

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 29 VeUML PIM Class Environment in Real Time Application Database Input Port ( PSM Client) PIM Class Output Port (PSM Server) Input Devices Output Devices

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 30 VeUML PIM Class Environment in Enterprise Application Database PSM Client PIM Class PSM Server Input Elements Output Elements

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 31 Project Experience

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 32 Projects Results 1* Hybrid Moore/Mealy model enhanced by the use of Sets. Problem VeUML Solution Complexity Separation of concerns – data from behavior; events from data, be havior from concurrency, actions from data etc.. CostAutomatic executable generation, automatic validation and simplified test. Resulted savings 45% (AT&T/Lucent Data) Portability to different platforms Service/Business Logic represents Interlingua - model and automatically generated executable are platform independent MaintenanceSubstantially reduced due to single Domain/Concern Models QualityLate defects reduction by 40% by exhaustive validation and early detection (AT&T/Lucent Data) PerformanceOptimized Predictable performance of VFSM executor

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 33 VeUML Advantage in Domain Engineering Domain Engineering Platform Engineering Domain Engineering Platform Engineering MDA/VeUML - Models are Programming Language and Metalanguage Independent Alternative - Models are Programming Language or Metalanguage Dependent Domain analysis is "the process of identifying, collecting, organizing, and representing the relevant information in a domain, based upon the study of existing systems and their development histories, knowledge captured from domain experts, underlying theory, and emerging technology within a domain” [CMU/SEI-90-TR-21].

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 34 VeUML - Maintenance Cost Reduction Time Multi Domain / Multi Aspect Models VeUML Single Domain / Single Aspect Models Maintenance Cost

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 35 Independent Iteration in Logical (PIM) and Physical (PSM) Architectures

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 36 Current Systems Architecture Platform Independent Model (PIM)Platform Specific Model (PSM) Presentation Applications Services Platform Protocols Limited potential for Reuse, Automatic Validation and Features Interaction Traceability

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 37 VeUML- Based Systems Architectures PIMPSMInheritance Concrete Presentation Concrete Applications Concrete Services Concrete Platform Concrete Protocol Abstract Presentation Abstract Applications Abstract Services Abstract Platform Abstract Protocol Optimized for Reuse and an Automatic Validation

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 38 VeUML / UML Essential Differences UML 1.x 1 Notation -> Multiply Semantics UML Notation -> Fewer Multiply Semantics VeUML 1 Notation -> 1 Semantics

SG17 Workshop of Use of ITU-T Formal Languages, Geneva, 17 July 2004 StateSoft 39 VeUML Modeling Summary Automatically generated executable Automatic validation Simpler models for complex systems Complex systems maintenance cost reduction Reuse of models