Improving the Definition of UML

Similar documents
Lecture 15: Hierarchical State Machines I

Formal Specification of Software Systems

Model Driven Engineering (MDE)

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

Formal Foundations of Software Engineering

INTEGRATING UML COMPOSITE STRUCTURES AND FUML

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

How useful is the UML profile SPT without Semantics? 1

Horváth Ákos Bergmann Gábor Dániel Varró István Ráth

Distributed Systems Programming (F21DS1) Formal Verification

15-819M: Data, Code, Decisions

Modelling in Enterprise Architecture. MSc Business Information Systems

PisaTel Meeting Roma, 29 novembre 2007

SUMMARY: MODEL DRIVEN SECURITY

Techniques for the unambiguous specification of software

Defining Domain-Specific Modeling Languages

Unifying the Semantics of Models and Meta-Models in the Multi-Layered UML Meta-Modelling Hierarchy

Definition and Uses of the i* Metamodel 1

Language engineering and Domain Specific Languages

Multi-event IDS Categories. Introduction to Misuse Intrusion Detection Systems (IDS) Formal Specification of Intrusion Signatures and Detection Rules

Syntactic Measures of Complexity

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

Existing Model Metrics and Relations to Model Quality

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

02291: System Integration

From OCL to Typed First-order Logic

Advances in Programming Languages

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Ontology-based Model Transformation

Reverse Engineering Process for Extracting Views from Domain Ontology

Direct Semantics of Extended State Machines

Verifying Java Programs Verifying Java Programs with KeY

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

Softwaretechnik Model Driven Architecture Meta Modeling

CSSE 490 Model-Based Software Engineering: Domain Engineering

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

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

An Abstraction Technique for Describing Concurrent Program Behaviour

A Formal V&V Framework for UML Models Based on Model Transformation Techniques

Seminar: Specification and Verification of Object-oriented Software. The KeY Tool

Formal Methods for Software Engineers

Enabling High Quality Executable Domain Specific Language Specification

Requirements Modelling and Software Systems Implementation Using Formal Languages

UML 2.5: Specification Simplification

Software Engineering: A Practitioner s s Approach, 6/e Roger Pressman. Chapter 28 Formal Methods

Introduction to Dependable Systems: Meta-modeling and modeldriven

SCENARIO-BASED REQUIREMENTS MODELLING

Blazo Nastov. Journée des doctorant, Nîmes, France 19 June 2014

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

Static analysis and testing of executable DSL specification

Overview of the KeY System

An Ontological Approach to Domain Engineering

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

CSSE 490 Model-Based Software Engineering: Software Factories

OCL Support in MOF Repositories

Conceptual Modeling and Specification Generation for B2B Business Processes based on ebxml

Principles of Programming Languages

Rich Hilliard 20 February 2011

Object-Oriented Theories for Model Driven Architecture

A framework for business processes view integration

A Simplified Abstract Syntax for the Dataflow Algebra. A. J. Cowling

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

Introduction to Linear-Time Temporal Logic. CSE 814 Introduction to LTL

1 Executive Overview The Benefits and Objectives of BPDM

Introduction to MDE and Model Transformation

TABLE OF CONTENT CHAPTER TITLE PAGE DECLARATION OF THESIS STATUS SUPERVISOR DECLARATION TITLE PAGE STUDENT DECLARATION ACKNOWLEDGEMENT ABSTRACT

ISO Compliant Automatic Requirements-Based Testing for TargetLink

Semantics-Based Integration of Embedded Systems Models

Compositional Model Based Software Development

IMCE MOF2 / OWL2 Integration

A Pratical Application of the Object Constraint Language OCL

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

Model-Driven Architecture

Train control language teaching computers interlocking

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

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

KNOWLEDGE MANAGEMENT VIA DEVELOPMENT IN ACCOUNTING: THE CASE OF THE PROFIT AND LOSS ACCOUNT

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

Ontology-Driven Modeling Framework for SOA Security Patterns

QoS-aware model-driven SOA using SoaML

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

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

UML is still inconsistent!

CIS 895 agenttool III (Static) Project Plan Version 2.0. Project Plan. For agenttool III (Static) Version 2.0

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

Software Architecture

Lecture 16: Hierarchical State Machines II

Evaluation of Commercial Web Engineering Processes

Analysis of BPMN Models

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment

Generating Specification Documents from Models using BIRT

Chapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS

Chapter 1 Introduction

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services.

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. !

09. Component-Level Design

Dictionary Driven Exchange Content Assembly Blueprints

Towards Formalizing Domain-specific Modeling Languages. Kai Chen Janos Sztipanovits Sandeep Neema

Transcription:

Improving the Definition of UML Greg O Keefe Computer Sciences Laboratory Australian National University

Outline The UML definition claims to be

Outline The UML definition claims to be precise

Outline The UML definition claims to be precise easy to understand

Outline The UML definition claims to be precise easy to understand (because it avoids mathematical formality)

Outline The UML definition claims to be precise easy to understand (because it avoids mathematical formality) I will argue that

Outline The UML definition claims to be precise easy to understand (because it avoids mathematical formality) I will argue that precision and understandability are the right goals

Outline The UML definition claims to be precise easy to understand (because it avoids mathematical formality) I will argue that precision and understandability are the right goals the current definition does not achieve them

Outline The UML definition claims to be precise easy to understand (because it avoids mathematical formality) I will argue that precision and understandability are the right goals the current definition does not achieve them mathematics is

Outline The UML definition claims to be precise easy to understand (because it avoids mathematical formality) I will argue that precision and understandability are the right goals the current definition does not achieve them mathematics is unavoidable for precision

Outline The UML definition claims to be precise easy to understand (because it avoids mathematical formality) I will argue that precision and understandability are the right goals the current definition does not achieve them mathematics is unavoidable for precision compatible with understandability

Outline The UML definition claims to be precise easy to understand (because it avoids mathematical formality) I will argue that precision and understandability are the right goals the current definition does not achieve them mathematics is unavoidable for precision compatible with understandability and I will survey some relevant work

Criteria for a good definition of UML

Criteria for a good definition of UML Criterion 0 it must define UML

Criteria for a good definition of UML Criterion 0 it must define UML Criterion 1 it must define UML

Criteria for a good definition of UML Criterion 0 it must define UML Criterion 1 it must define UML (5 things to define)

Criteria for a good definition of UML Criterion 0 it must define UML Criterion 1 it must define UML type A:Class class :Property ownedend A ex B notational conventions owningassociation :Association association semantics (Σ, ε) B:Class type ownedattribute memberend ex:property concrete syntax abstract sytnax semantic domain

Criteria: semantic applications, agreement Criterion 2 automatic checking of semantic properties like

Criteria: semantic applications, agreement Criterion 2 automatic checking of semantic properties like model satisfiability

Criteria: semantic applications, agreement Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models

Criteria: semantic applications, agreement Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models transformation soundness

Criteria: semantic applications, agreement Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models transformation soundness Criterion 3 enables agreement on complex ideas people tools

Criteria: semantic applications, agreement Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models transformation soundness Criterion 3 enables agreement on complex ideas people tools real agreement requires understanding

Criteria: semantic applications, agreement Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models transformation soundness Criterion 3 enables agreement on complex ideas people tools real agreement requires understanding of the models

Criteria: semantic applications, agreement Criterion 2 automatic checking of semantic properties like model satisfiability refinement between models transformation soundness Criterion 3 enables agreement on complex ideas people tools real agreement requires understanding of the models hence, of the language

Criteria: reflection and flexibility Criterion 4 reflective

Criteria: reflection and flexibility Criterion 4 reflective language in semantic domain: L = mm S

Criteria: reflection and flexibility Criterion 4 reflective language in semantic domain: L = mm S each model contains its metamodel: instanceof :C C i instanceoftype i c C

Criteria: reflection and flexibility Criterion 4 reflective language in semantic domain: L = mm S each model contains its metamodel: c Criterion 5 flexible, to cater for instanceof :C C i instanceoftype i C

Criteria: reflection and flexibility Criterion 4 reflective language in semantic domain: L = mm S each model contains its metamodel: instanceof :C C i instanceoftype i c Criterion 5 flexible, to cater for semantic variation points C

Criteria: reflection and flexibility Criterion 4 reflective language in semantic domain: L = mm S each model contains its metamodel: instanceof :C C i instanceoftype i c Criterion 5 flexible, to cater for semantic variation points profiles C

Criteria: reflection and flexibility Criterion 4 reflective language in semantic domain: L = mm S each model contains its metamodel: instanceof :C C i instanceoftype i c Criterion 5 flexible, to cater for semantic variation points profiles DSL s interoperable with UML C

Criteria: reflection and flexibility Criterion 4 reflective language in semantic domain: L = mm S each model contains its metamodel: instanceof :C C i instanceoftype i c Criterion 5 flexible, to cater for semantic variation points profiles DSL s interoperable with UML later versions of UML C

Criteria Summary We want a precise, yet understandable definition of UML.

Evaluation of the Current Definition of UML no agreement on meaning of UML models

Evaluation of the Current Definition of UML no agreement on meaning of UML models claims in the literature

Evaluation of the Current Definition of UML no agreement on meaning of UML models claims in the literature discussions with practitioners

Evaluation of the Current Definition of UML no agreement on meaning of UML models claims in the literature discussions with practitioners OMG issues, eg. #5977 association semantics

Evaluation of the Current Definition of UML no agreement on meaning of UML models claims in the literature discussions with practitioners OMG issues, eg. #5977 association semantics precise understandable definition would resolve disagreements

Evaluation of the Current Definition of UML no agreement on meaning of UML models claims in the literature discussions with practitioners OMG issues, eg. #5977 association semantics precise understandable definition would resolve disagreements therefore we do not have one (it is neither precise nor understandable!)

Evaluation of the Current Definition of UML no agreement on meaning of UML models claims in the literature discussions with practitioners OMG issues, eg. #5977 association semantics precise understandable definition would resolve disagreements therefore we do not have one (it is neither precise nor understandable!) it is not easy, we should ask the experts

Evaluation of the Current Definition of UML no agreement on meaning of UML models claims in the literature discussions with practitioners OMG issues, eg. #5977 association semantics precise understandable definition would resolve disagreements therefore we do not have one (it is neither precise nor understandable!) it is not easy, we should ask the experts precision: mathematics

Evaluation of the Current Definition of UML no agreement on meaning of UML models claims in the literature discussions with practitioners OMG issues, eg. #5977 association semantics precise understandable definition would resolve disagreements therefore we do not have one (it is neither precise nor understandable!) it is not easy, we should ask the experts precision: mathematics understanding: cognitive psychology

Survey: Z and Algebra we survey the literature on semantics for UML

Survey: Z and Algebra we survey the literature on semantics for UML most has some other agenda

Survey: Z and Algebra Z we survey the literature on semantics for UML most has some other agenda

Survey: Z and Algebra we survey the literature on semantics for UML most has some other agenda Z Kim and Carrington 2000, semantic definition by transformation to metamodel of formal language

Survey: Z and Algebra we survey the literature on semantics for UML most has some other agenda Z Kim and Carrington 2000, semantic definition by transformation to metamodel of formal language many others, but no convincing dynamics (a sequence diagram in Z?)

Survey: Z and Algebra we survey the literature on semantics for UML most has some other agenda Z Kim and Carrington 2000, semantic definition by transformation to metamodel of formal language many others, but no convincing dynamics (a sequence diagram in Z?) Algebraic Specification

Survey: Z and Algebra we survey the literature on semantics for UML most has some other agenda Z Kim and Carrington 2000, semantic definition by transformation to metamodel of formal language many others, but no convincing dynamics (a sequence diagram in Z?) Algebraic Specification Reggio et al 2001, seek semantics for whole language, advocate models as axioms, recognise need for temporal operators

Survey: Logic and OCL Translating OCL to Logic

Survey: Logic and OCL Translating OCL to Logic OCL to higher order logic, Brucker and Wolff 2002

Survey: Logic and OCL Translating OCL to Logic OCL to higher order logic, Brucker and Wolff 2002 OCL to first order logic, Beckert and Schmitt 2002

Survey: Logic and OCL Translating OCL to Logic OCL to higher order logic, Brucker and Wolff 2002 OCL to first order logic, Beckert and Schmitt 2002 Dynamic Logic

Survey: Logic and OCL Translating OCL to Logic OCL to higher order logic, Brucker and Wolff 2002 OCL to first order logic, Beckert and Schmitt 2002 Dynamic Logic Beckert 2001, gives a special dynamic logic for Java-Card

Survey: Logic and OCL Translating OCL to Logic OCL to higher order logic, Brucker and Wolff 2002 OCL to first order logic, Beckert and Schmitt 2002 Dynamic Logic Beckert 2001, gives a special dynamic logic for Java-Card Weiringa and Broerson 1997, use a DL based language to formalise a methodologically analysed form of UML

Survey: Logic and OCL Translating OCL to Logic OCL to higher order logic, Brucker and Wolff 2002 OCL to first order logic, Beckert and Schmitt 2002 Dynamic Logic Beckert 2001, gives a special dynamic logic for Java-Card Weiringa and Broerson 1997, use a DL based language to formalise a methodologically analysed form of UML O Keefe 2006, small UML subset with sequence diagrams translated to DL for satisfiability checking

Survey: Graphs and STS Symbolic Transition Systems

Survey: Graphs and STS Symbolic Transition Systems Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models

Survey: Graphs and STS Symbolic Transition Systems Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models ignores UML abstract syntax, very complex, strong execution assumptions

Survey: Graphs and STS Symbolic Transition Systems Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models ignores UML abstract syntax, very complex, strong execution assumptions Graph Transformation Systems

Survey: Graphs and STS Symbolic Transition Systems Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models ignores UML abstract syntax, very complex, strong execution assumptions Graph Transformation Systems several groups persuing the same basic idea

Survey: Graphs and STS Symbolic Transition Systems Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models ignores UML abstract syntax, very complex, strong execution assumptions Graph Transformation Systems several groups persuing the same basic idea a system state is an object diagram = a graph

Survey: Graphs and STS Symbolic Transition Systems Damm Josko Pnueli and Votintseva 2003, real time semantics used in later work for deductive verification of models ignores UML abstract syntax, very complex, strong execution assumptions Graph Transformation Systems several groups persuing the same basic idea a system state is an object diagram = a graph evolution defined by graph transformation rules (perhaps given as UML interaction diagrams)

Conclusions What Formalism?

Conclusions What Formalism? graph transformation for understandability

Conclusions What Formalism? graph transformation for understandability dynamic logic for expressiveness

Conclusions What Formalism? graph transformation for understandability dynamic logic for expressiveness a new logic with graphs as static statements, graph transformation rules as atomic programs?

Conclusions What Formalism? graph transformation for understandability dynamic logic for expressiveness a new logic with graphs as static statements, graph transformation rules as atomic programs? we must gain precision and understandability, otherwise model driven development will fail