Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

Similar documents
A Feasibility Study in Rearchitecting UML as a Family of Languages using a Precise OO Meta-Modeling Approach

An introduction to MOF MetaObject Facility.

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

Model Driven Engineering

UML 2.5: Specification Simplification

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Model Driven Development Unified Modeling Language (UML)

Model Driven Engineering

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Metamodeling with Metamodels. Using. UML/MOF including OCL

Introduction to MDE and Model Transformation

Software Engineering with Objects and Components Open Issues and Course Summary

OCL Support in MOF Repositories

Unambiguous UML (2U) Revised Submission to UML 2 Infrastructure RFP (ad/ ) Convenience document with errata (ad/ ) applied

Christian Doppler Laboratory

An Action Semantics for MML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

MOF 2.0 IDL CORBA Components based Repositories

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Engineering Modelling Languages: A Precise Meta-Modelling Approach

What's New in UML 2.0

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

An Open Modeling Infrastructure. Olaf Kath Marc Born

The Specifications Exchange Service of an RM-ODP Framework

A UML 2 Profile for Variability Models and their Dependency to Business Processes

Modelling in Enterprise Architecture. MSc Business Information Systems

CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering

CWM: Model Driven Architecture

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Metamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1

Model Querying with Graphical Notation of QVT Relations

Introduction to Software Engineering. 5. Modeling Objects and Classes

The Eclipse Modeling Framework and MDA Status and Opportunities

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Index. business modeling syntax 181 business process modeling 57 business rule 40

OMG Specifications for Enterprise Interoperability

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

A Metamodel-Based OCL-Compiler for UML and MOF

MODEL DRIVEN ENGINEERING: A MODEL BASED APPROACH TO SOFTWARE DEVELOPMENT

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Model Migration Case for TTC 2010

ISO/IEC CD :200x(E) Title: Information technology - Framework for Metamodel interoperability Part 2: Reference model Project:

Unified Modeling Language (UML)

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

1998, 1999, 2000, 2001, 2002 Rational Software - All rights reserved. A Preview of UML 2.0

COSC 3351 Software Design. An Introduction to UML (I)

The Model-Driven Semantic Web Emerging Standards & Technologies

Model-Driven Architecture

Software Architecture

Semantic Information Modeling for Federation (SIMF)

Collection of Raw Data

Hans Karlsen. MDriven The book. Doing effective Business by taking control of Information. Hans Karlsen, Stockholm, Sweden

ADT: Eclipse development tools for ATL

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Model Driven Engineering (MDE)

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN

Spemmet - A Tool for Modeling Software Processes with SPEM

ISO/IEC INTERNATIONAL STANDARD. Information technology Metamodel framework for interoperability (MFI) Part 1: Reference model

Module 3. Overview of TOGAF 9.1 Architecture Development Method (ADM)

Computer Science at Kent

Object-Oriented Theories for Model Driven Architecture

ISO/IEC FDIS INTERNATIONAL STANDARD FINAL DRAFT. Information technology Open Distributed Processing Type Repository Function ISO/IEC JTC 1

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh

All you need are models Anneke Kleppe, Klasse Objecten

UML Proposal to the Object Management Group

Model driven Engineering & Model driven Architecture

Language engineering and Domain Specific Languages

Towards a Data Consistency Modeling and Testing Framework for MOF Defined Languages

Introduction to UML. (Unified Modeling Language)

Model Driven Architecture

Rich Hilliard 20 February 2011

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

ROLE OF OCL AND ITS SUPPORTING TOOLS IN REQUIREMENT SPECIFICATION

Heavyweight extensions to the UML metamodel to describe the C3 architectural style Abstract Keywords 2. Strategies to extend UML 1.

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Represent Software Process Engineering Metamodel in Description Logic

OO Analysis and Design with UML 2 and UP

AT&T Government Solutions, Inc.

GSN Metamodel. In the following subsections we describe the model elements. All references are to sections within the GSN Community Standard.

UML 2.0 State Machines

OCL for the Specification of Model Transformation Contracts

A Solution Based on Modeling and Code Generation for Embedded Control System

Information technology Metamodel framework for interoperability (MFI) Part 1: Framework

Model-Driven Language Engineering

Formal Methods for Software Engineers

It s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu

Enterprise Architect Training Courses

Softwaretechnik Model Driven Architecture Meta Modeling

INF5120 Model-Based System Development

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

The Role of Metamodeling in MDA

Information systems modeling. Tomasz Kubik

Comparative analysis of MDA tools

3rd Lecture Languages for information modeling

Model Migration Case for TTC 2010

02291: System Integration

Transcription:

Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent @ Canterbury, UK www.cs.ukc.ac.uk Stuart Kent, October 2000 2 Outline An update on UML A little history UML and other OMG standards The OMG revision process UML related RFP s UML profile RFP s UML 2.0 Challenges & opportunities - Language definition Challenges & opportunities - Tools A precise OO meta-modeling facility - MMF A little history UML began with Rational and the 3 amigos OMG put out a request for proposals for a standard object modeling language A number of consortiums put in initial submissions Initial submissions were combined into the eventual final submission, under one consortium exception: the OPEN group UML was accepted by and passed over to the OMG Revision of UML is now in the hands of the OMG Possibility of ISO standardisation Stuart Kent, October 2000 3 Stuart Kent, October 2000 4

UML & other OMG standards MOF Language for describing other languages Meta-models in MOF used to generate IDL and XMI CORBA (IDL) Generate IDL from meta-model in MOF IDL represents set of interfaces to a repository supporting that meta-model UML could be one such meta-model Generate IDL from (certain) UML models XMI (XML interchange) Dictates how UML and MOF models are interchanged in XML Based on MOF technology Stuart Kent, October 2000 5 Request For Information (RFI) Request For Proposals (RFP) Initial Submissions Reject Major Revision Final Submissions Voting OMG processes Roadmap Accept Major Revision x.0 Minor Revision Issues submitted Revision Task Force (RTF) consider Reject Voting Accept Minor Revision, n.x Stuart Kent, October 2000 6 UML related RFP s www.omg.org/techprocess/meetings/schedule/ Action Semantics Various Profiles UML 2.0 4 RFP s RFP s just issued; awaiting initial submissions Goal is to sort out abstract syntax semantics Action Semantics For an action language for UML Initial submission received Adopts a meta-modeling approach Semantics expressed as a mapping from abstract syntax to possible executions Stuart Kent, October 2000 7 Stuart Kent, October 2000 8

UML Profile RFP s EDOC Enterprise Distributed Object Computing Working on merging 2 initial submissions Component architecture, viewpoints & whole lifecycle Closely tied to EAI (intersecting teams) Textual language for EDOC profile Awaiting initial submissions CORBA profile Use UML to write IDL (in a nutshell) Revised submission received Scheduling profile Real-time profile for UML (in a nutshell) Awaiting initial submissions Event Based Architecture in Enterprise Application Integration (EAI) profile Working a single joint revised submission Closely tied to EDOC Stuart Kent, October 2000 9 UML 2.0 4 RFP s Infrastructure Superstructure Object Constraint Language (OCL) Diagram interchange (planned) UML 2.0 Working Group www.celigent.com/omg/adptf/wgs/uml2wg.htm Stuart Kent, October 2000 0 Infrastructure Alignment with MOF Family of languages Notation mix Profiles Language Evolution Patterns Comprehensive definition + separation of concerns syntax(es) XMI model UML.3 An update on UML Language definition Challenges Opportunities Outline Tools A precise OO meta-modeling facility - MMF concepts instance The precise UML group & IBM have done a feasibility study on this. Discussed later. Also see www.puml.org Stuart Kent, October 2000 Stuart Kent, October 2000 2

Language definition - challenges UML is a family of languages Profiles Continual evolution product lines? Accessibility of the definition and tools used to produce it Who are the stakeholders? Backwards compatibility with the existing definition What does this mean, exactly? Who are the stakeholders? Separation of concerns (syntax, semantics etc.) Visual languages? Stuart Kent, October 2000 3 Language definition - opportunities Formal language definition is at the heart of FM Two approaches (at least): Translate UML to a FM E.g. UML to PVS or Object Z + Makes use of abstractions from semantic domain already captured by FM Definition can be colored by FM May not address Family issues Accessibility of definition Backwards compatibility Visual language issues Adapt FM techniques to UML Address challenges directly, borrowing from FM as appropriate Borrow from FM separation of concerns Concrete/abstract syntax Model-theoretic/axiomatic semantics Learn from graph grammar work in defining diagrammatic syntax Example is puml feasibility study Stuart Kent, October 2000 4 An update on UML Language definition Tools Challenges Opportunities Outline A precise OO meta-modeling facility - MMF Tools - challenges Tools that allow a model to be exercised and reasoned with Testing models instance generation and instance checking Reasoning Feedback is given through the modeling language Specialized (visual) language editors VL = diagrams + editor 3D? Support for language families Federated architecture Automatic generation of tools from definitions Stuart Kent, October 2000 5 Stuart Kent, October 2000 6

Tools - opportunities FM delivers techniques for exercising models: Automated reasoning Model checking Animation (in presence of partial models) 2 approaches to utilizing these techniques: Translate UML to a FM Can make use of existing tools Feedback is the challenge, e.g. UML. translate model 3. translate result & debugging info PVS 2. Perform check Stuart Kent, October 2000 7 UML. translate model 2. initiate reasoning step 4. translate result & debugging info Tools - Opportunities FM delivers techniques for exercising models: Automated reasoning Model checking Animation (in presence of partial models) 2 approaches to utilizing these techniques: Translate UML to a FM Can make use of existing tools Feedback is the challenge, e.g. PVS Adapt FM techniques to UML Diagrammatic reasoning A tool specifically for checking UML instances against UML models 3. Perform step Stuart Kent, October 2000 8 Outline An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Goals of MMF To provide a rearchitected definition of UML which: is precise to the degree that conformance can be checked systematically, without argument and, preferably automatically self-consistency of the definition can be established. is comprehensive, covering syntax, both concrete and abstract, and semantics. On the other hand, redundant and overlapping concepts should be kept to a minimum. accepts that UML is a family of languages, providing mechanisms which allow profiles and language extensions to be defined in a controlled and managed way make the relationships of profiles and extensions to existing language fragments explicit and unambiguous. is accessible to tool builders and those involved in the standardization of the language. Stuart Kent, October 2000 9 Stuart Kent, October 2000 20

Results Intellectual Property A Meta-Modeling Facility (MMF) Fragments of a rearchitected definition of UML Concrete Artefacts A report describing the facility and UML fragments A tool supporting the facility available from www.puml.org Conclusion Rearchitecting UML using poomm approach is entirely feasible Meta-Modeling Facility (MMF) MMF = MM Language (MML) + MM Tool (MMT) MML is used to define the UML family is a member of the UML family has facilities for componentizing language definitions, maintaining a separation between Language aspect (model instance, syntax concepts) Subject area (static core, constraints, model managament, etc.) MMT supports checking reflection constraint execution Stuart Kent, October 2000 2 Stuart Kent, October 2000 22 Precision a confidence trick UML Architecture: subject areas MML as MML model 3 (from Logical View) associations UML staticcore constraints Arrow represents package generalization cannot produce between packages in Rose reflection modelmanagement 2, 4 tool(s) Tool is based on a small, objectbased virtual machine. Can define a formal semantics for this machine.. Construct a MML model of MML based on intuitive semantics of MML class/package diagrams + constraints 2. Implement tool based on that model; define MML in tool 3. Learn from tool to improve model 4. Implement changes in tool and definition in tool Confidence increases the more one cycles through 3, 4 Stuart Kent, October 2000 23 d a ta ty pe s methods mml Stuart Kent, October 2000 24

UML Architecture: subject areas Semantics: model instance (from Logical View) UML (from UML ) staticcore staticcore staticcore.model constraints dynamiccore staticcore.model.concepts (from staticcore. mo del) interactions contracts staticcore.semantics mml statemachines staticcore.instance staticcore.instance.concepts (from staticcore.instance) softwaredesign Stuart Kent, October 2000 25 Stuart Kent, October 2000 26 Syntax concepts The staticcore.model.concepts package staticcore.model (from staticcore) syntaxlibrary.baldiagrams (from syntaxlibrary) staticcore.model.concepts staticcore.model.graphicalsyntax +elements Container ModelElement name : String +child +specialisations Generalisable Generalisation +parent +generalisations conformsto() +elements Classifier isabstract : Boolean +type staticcore.model.graphicaltootconcepts Class +attributes Attribute Stuart Kent, October 2000 27 Stuart Kent, October 2000 28

The staticcore.instance.concepts package The staticcore.semantics package InstanceElement +elem ents Instance +value +of Class ifier Attribute +of +instances +instances Instance Slot Class +of +instances Object Object +slots Slot Concepts (abstract syntax) Semantic domain Stuart Kent, October 2000 29 Stuart Kent, October 2000 30 OCL constraints for semantic mappings context uml.staticcore.semantics.instance inv: satisfies(c : Classifier) : Boolean if self.of = c then of.allcontents() -> forall(e elements -> exists(e2 e2.name = e.name and e2.satisfies(e))) else false endif A systematic method for extending MML. determine whether the model element is a subclass of Classifier, i.e. exhibits the properties of a generalisable container; 2. if so, subclass the model element from Classifier in the model.concepts package; 3. constrain the model element s contents to be those of the attribute elements ; 4. in the instance.concepts package, identify or add a new instance subclass which is an instance of the classifier; 5. in the semantics package, link them by subclassing the of/instances association; 6. for each element of the new model element repeat steps 4-5; 7. determine any dependencies between instances and their elements, and specify these using appropriate constraints. Stuart Kent, October 2000 3 Stuart Kent, October 2000 32

MML includes a model of OCL Current architecture of UML / MOF Classifier Exp +expr Constraint +invariants +resulttype Cl assi fier +context UML.x (concepts) maps UML.x physical meta-model +env Variable BinaryLogicalExp UnaryLogicalExp SlotRef Iterate UML core instantiates extends CWM extends uses And Includes Equals Not Profile OCL uses MOF defines XMI, IDL + instance.concepts and semantics Stuart Kent, October 2000 33 adapted from a slide by Steve Cook Stuart Kent, October 2000 34 A possible new architecture for UML / MOF MMT architecture UML 2 core (concepts, syntax, semantics) MML MOF OCL defines extends CWM 2 In theory this can be generated automatically from syntax mappings specified in meta-model Textual language & parser for MML UML all components required for MML Textual language & parser for VM Top two steps can be repeated incrementally, replacing MML by some piece of meta-model X instantiates XMI XMI = XML syntax extends Profile Virtual Machine Objects Slots Constraints Classification adapted from a slide by Steve Cook Stuart Kent, October 2000 35 Stuart Kent, October 2000 36

Advantages of MMT Meta-models, models and instances can be checked for correctness against their definition Tool to support MML comes from executing MML meta-model in virtual machine Changes are easy to implement As well as ability to check a M-M against MML, the M-M can be executed providing direct tool support for the M-M (CASE tool generation) Because of comprehensive M-M, this should also support e.g. syntax mappings User only needs to deal with MML and languages defined in MML Conclusions FM has a lot to offer UML, specifically: Patterns and techniques for formal language definition Semantically sophisticated tools There is an opportunity now to make UML into a formal language. Key challenges are: To treat UML as a family of languages To provide accessible definitions To deal with visual syntax To rework all the stuff for dynamic modeling To deal with backwards compatibility issues Users could really do with tools that allow models to be exercised. Key challenge is: To feedback results and debugging information through UML Reworking the UML infrastructure using a precise OO metamodeling approach should (at least) provide a better platform for FM folks to work from Stuart Kent, October 2000 37 Stuart Kent, October 2000 38