From MDE (model driven engineering) to CT and back

Slides:



Advertisements
Similar presentations
Semantics Static semantics Dynamic semantics attribute grammars
Advertisements

Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington UML for design: Class Diagrams.
System Modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers. Different.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
CS 340 UML Class Diagrams. A model is an abstraction of a system, specifying the modeled system from a certain viewpoint and at a certain level of abstraction.
CS 355 – Programming Languages
1 SWE Introduction to Software Engineering Lecture 13 – System Modeling.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, Pune, INDIA.
...Looking back Why use a DBMS? How to design a database? How to query a database? How does a DBMS work?
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Intermodeling, Queries and Kleisli categories Zinovy Diskin, Tom Maibaum, Krzysztof Czarnecki McMaster University, University of Waterloo.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Models for Language Engineering Bruno F. Barroca.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Relationships Between Structures “→” ≝ “Can be defined in terms of” Programs Groups Proofs Trees Complex numbers Operators Propositions Graphs Real.
Many Sorted First-order Logic Student: Liuxing Kan Instructor: William Farmer Dept. of Computing and Software McMaster University, Hamilton, CA.
Chapter 7 System models.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
CS 363 Comparative Programming Languages Semantics.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 02. Objects,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Database Systems: Enhanced Entity-Relationship Modeling Dr. Taysir Hassan Abdel Hamid.
NECSIS Workshop March 10 NECSIS Workshops1. Source-to-target model transf. B … A T(B) … Space of M’s instances (models), [[ M]] T(A) … Space of N’s instances.
Object Oriented Analysis: Associations. 2 Object Oriented Modeling BUAD/American University Class Relationships u Classes have relationships between each.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Chapter 3 Part II Describing Syntax and Semantics.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 5: Interaction Diagrams.
TK2023 Object-Oriented Software Engineering CHAPTER 9 INTRODUCTION TO OBJECT DESIGN.
METAMODELING the core of MDE and modeling in general UML3-1 UML 1.class diagrams 2.object diagrams and constraints 3.metamodeling.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Finding Reusable UML Sequence Diagrams Automatically By: William N. Robinson and Han G. Woo From: IEEE Software (September/October 2004) Presented by:
Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML for design: Class Diagrams ENGR 110 #
Requirements Specification
Modeling with UML – Class Diagrams
Common MBSE Modeling Questions and How Ontology Helps
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Unified Modeling Language
Model Driven Engineering
Abstract descriptions of systems whose requirements are being analysed
MetaModeling the core of MDE and modeling in general UML
Scenario Integration via Higher-Order Graphs *)
Domain Class Diagram Chapter 4 Part 2 pp
Introduction.
Copyright © Cengage Learning. All rights reserved.
From State- to Delta-Based Bidirectional Model Tranformation
Towards an Open Meta Modeling Environment
Discrete Mathematics in the Real World
Object Oriented System Design Class Diagrams
Zinovy Diskin School of Computing, Queen’s University Kingston, Canada
Probability Notes Math 309.
Software Architecture & Design
On to Object Design c. 14.
Presentation transcript:

From MDE (model driven engineering) to CT and back Zinovy Diskin

My experience ….. Algebraic logic 1993-97 --- Database design for a private company in Latvia 98-2004 –- Business analyst in US 05-present --- Several academia/industry projects on MDE in Canada (funded 50/50) 5/9/2019 Vancouver, CT'2011

CT for SE, why? CT’s applications for Physics, Comp. Science, Linguistics… are well known, so what? Size Quality 5/9/2019 Vancouver, CT'2011

World Modeling of modeling Model modeling interpretation reasoning  5/9/2019 Vancouver, CT'2011

Modeling of modeling: Comp.Sci deep reasoning deep abstraction World Model  interpretation 5/9/2019 Vancouver, CT'2011

Modeling of modeling: Engineering World shallow abstraction shallow reasoning Model  interpretation 5/9/2019 Vancouver, CT'2011

Modeling in Science vs. in Engineering Ordinary math structures: few sorts, few relations, few operations simple carrier structures but complex formulas Difficult theorems from simple axioms SE structures: hundreds of sorts, rels, operations complex carrier structures but simple formulas Simple theorems from difficult axioms 5/9/2019 Vancouver, CT'2011

Modeling of modeling: Engineering 1001 shallow reasoning 1001 shallow abstractions shallow abstraction World Model  interpretation 5/9/2019 Vancouver, CT'2011

Content What MDE is Models as generalized sketches Towers of models: metamodeling vs. logic Three dimensions of the model universe: typing, model matching, updates Observations and speculations 5/9/2019 Vancouver, CT'2011

Building software with MDE Requirements --> Analysis --> Design --> Coding World Models Code 5/9/2019 Vancouver, CT'2011

UML offers 13 types of diagrams 5/9/2019 Vancouver, CT'2011

Structural problems of MDE World Code  5/9/2019 Vancouver, CT'2011

MDE in Canada: the NECSIS project Total budget is CAD….. for 5 years 7 Universities across Canada (McMaster, Waterloo, UofT, UBC, McGill…) 20 professors, Funded by GM, IBM, NSERC 5/9/2019 Vancouver, CT'2011

A UML class diagram and its instance Model M driver drives Person name: string [1] tel: integer [1..3] Car num: string [1] 1..2 Instance I of M 1:driver 2:drives P1: Person name = John tel = {11,22} C1:Car num=100 4:drives P2: Person name = Mary tel = {11,33} 3:driver

Models as generalized sketches Model M driver drives Car num: Str [1] Person name: Str [1] tel: Int [1..3] 1..2 Persons with names A* drive 2 cars 2 drives Car A*-Person Person [inverse] driver [1..2] tel [1..3] name [1] num [1] [Str] [Int] [A*-Str] 5/9/2019

Semantics of constraints A gen. sketch is given by the following data: A signature of diagram predicates ar: Pred --> Graph (= cat. of graphs) Given P in Pred, its semantics is [[P]] \subset Graph(_,ar(P)) An ar-sketch is S=(GS, CS) with GS the carrier graph and CS a set of constraints {(P,d): P in Pred, d: ar(P)--> GS } Given an “instance” I, tI: GI --> GS, and a constraint c=(P,d) in CS, we define I|= c iff PBd(tI) in [[P]] 5/9/2019 Vancouver, CT'2011

Metamodeling sketches Metamod Mske P in Pred P-diagrams …. 2 13 1 2 3 12 23 12 23 ar(P) 1 3 Nodes Arrows 13 sketch S tS Mske GS+ GI+ ? |= Mgra GS GI tI 5/9/2019

Logics as a model tower Model Object ref attribute Value Logic Grammar Theory Model Meta-modeling Metamodel Instance Inst. Metamod Person:Obj P1:Obj 2:ref drives:ref Object ref 1:attr C1:Obj name:attr Car:Obj attribute num:attr 3:num John:Val Str:Val Value 001:Val Int: Val 5/9/2019 Vancouver, CT'2011

Inter-model relationships (O=E) (Entity) (Object) MM R NN (P=E) (Person) (Emplo-yee) M MR MN NR N (Ana) (A=A) (Ann) IMN I IJ JMN J I J // 5/9/2019 Vancouver, CT'2011

Everything changes MM NN M N I J N’ M’ J’ I’ Typing Src-Trg Updates // 5/9/2019 Vancouver, CT'2011

Observations/Speculations “shallow modeling” needs special structuring mechanisms (SSMs): classification, nesting, AND-OR operations Inter-model relationships are complex structures that needs SSMs too: comma cats, profunctors, … It is easier to talk to a software engineer than to a computer scientist 5/9/2019 Vancouver, CT'2011

r B A r A B S B A B tA 1:fPpg tB 2:Mgr r: r 2:Mgr 3:fPpg a b r':r Typing B A Src-Trg tA 1:fPpg v u tB Updates 2:Mgr r A B r: r 2:Mgr S B 3:fPpg a b r':r A B

5/9/2019 Vancouver, CT'2011

UML state machine diagrams 5/9/2019 Vancouver, CT'2011

UML sequence diagrams 5/9/2019 Vancouver, CT'2011

UML class diagram 5/9/2019 Vancouver, CT'2011