Executable UML The Models are the Code - Executable UML CS387 Paul Krause.

Slides:



Advertisements
Similar presentations
Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility.
Advertisements

1Model Driven Architecture – 3. März 2008 – Siegfried Nolte 1.UML – What is it and what is it good for ? 2.MDA – What is it and what is it good for ? 3.MDA.
Architecture Representation
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
MDA > Model Driven Architecture > Orçun Dayıbaş > December, 2006 > METU, Ankara.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
Executable UML By Luca Pellicoro. Definitions Acronym: xtUML or xUML Technology where models (such as state diagrams and class diagrams) are automatically.
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.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
Course Instructor: Aisha Azeem
MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
International Telecommunication Union ITU-T Study Group 17, Moscow, 30 March – 8 April 2005 New Recommendations on ODP Arve Meisingset Rapporteur Q15.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
©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.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Introduction to MDA (Model Driven Architecture) CYT.
Executable UML The Models are the Code - Executable UML Lecture 3 - Modelling with Domains and Classes Paul Krause.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Software Architecture in Practice Architectural description (The reduced version)
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Chapter 7 System models.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
System models l Abstract descriptions of systems whose requirements are being analysed.
MDA and Security October 12, 2006 FAU Secure Systems Group Patrick Morrison.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
CSC480 Software Engineering Lecture 11 September 30, 2002.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
On the Role of Abstract Platform in Model Driven Development* Marten van Sinderen Centre for Telematics and Information Technology, University of Twente,
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.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
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.
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.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
Model Driven Architecture MDA SE-548 Lale Doğan
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.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
CS 389 – Software Engineering
MACS 2005 First International Workshop on the Modeling and Analysis of Concerns in Software Concern Management for Constructing Model Compilers -- Towards.
Abstract descriptions of systems whose requirements are being analysed
Chapter 2 – Software Processes
Chapter 2 Database Environment Pearson Education © 2009.
Evaluating Compuware OptimalJ as an MDA tool
CS310 Software Engineering Dr.Doaa Sami
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
Chapter 7 –Implementation Issues
Chapter 17 - Component-based software engineering
Chapter 5 Architectural Design.
Chapter 2 Database Environment Pearson Education © 2009.
Presentation transcript:

Executable UML The Models are the Code - Executable UML CS387 Paul Krause

Executable UML Lecture 1 - Introduction and Motivation v New Terminology v Motivation v What is a model? v Introduction to xUML

Executable UML New Terminology for Today v Executable UML (xUML) v Platform Independent Model (PIM) v Platform Specific Model (PSM)

Executable UML Motivation - Raising the Level of Abstraction Assembly Code Assembler None Machine Code 1960s High-Level Language Source Code Compiler Hardware Platform Assembly Code 1980s Executable Models Model Compiler Software Platform Source Code 2000s

Executable UML Domain Models 2000s Components and Frameworks 1990s Objects 1980s Motivation - Raising the Level of Reuse Functions 1970s

Executable UML Motivation - Architectural Mismatch Operating System Data Server CORBA Application Reuse at the Code-Level is Multiplicative e.g. 3 x 3 x 3 = 27 code versions

Executable UML The Vision of Model Driven Architecture v To create an application on a new platform: 1. Take a model of the application domain off the shelf 2. Subset the model as necessary 3. Take models of the implementation technologies off the shelf 4. Describe how the models are to be linked 5. Generate the system (After Mellor et al, 2004)

Executable UML Lecture 1 - Introduction and Motivation v New Terminology v Motivation v What is a model? v Introduction to xUML

Executable UML Abstraction, Classification and Generalisation Classify Real WorldModels Fido (20kg, Awful): Dog Munchkin (8kg, FeedingOnly): Cat LapKitty (4kg, LapLover): Cat Classify Abstract Pet + name + weight Dog +slobberFactor Cat +standoffIndex Abstract Real Entities Entity Classifications Instance Model Class Model

Executable UML Subject Matter and Language Abstraction Transaction amount ID type Customer name city isPrimary Account number balance SavingsAccount interestRate ChackingAccount maxChecksperMonth is owned by owns 1* is affected by operates on * 1..2

Executable UML How do we know if a Customer is authentic? v The banking model abstracts away irrelevant information  e.g. customer’s salary, number of children, personal hobbies, etc v But the process of authenticating a customer is relevant v So, how come it is not present in the model? v This is because Security is a different (and general purpose) subject domain

Executable UML Security Domain Model PrincipalProtectedResourceRoleProtectedActionPermission 0..* affected by system actions action subject to authorisation entity on whose behalf actions are performed defines a relationship between a Principal and the System reflects the actions that a Principal, acting in a particular Role, can take with regard to a ProtectedResource

Executable UML Separation of concerns v We could have a number of different ways of handling security in a banking domain v Any given model of security could be applied to a number of different application domains v So, we model the bank without worrying about security v And, model security without worrying about its potential applications v But we do need to hook the two models together

Executable UML Lecture 1 - Introduction and Motivation v New Terminology v Motivation v What is a model? v Introduction xUML

Executable UML Terminology in xUML v The Model v The Platform v The Platform-Independent Model (PIM) v The Platform-Specific Model (PSM)

Executable UML The Model v a “formal representation of the function, behaviour and structure of the system we are building” - [Raistrick et al, 2004] v We will use xUML to specify complete and rigorous models v Two kinds of models:  Platform-independent Model (PIM)  Platfrom-specific model (PSM) v So, what do we mean by a “platform”

Executable UML The Platform v the “technological and engineering details that are irrelevant to the fundamental functionality of the software” - [Raistrick et al, 2004] v Examples:  CORBA  J2EE CC .NET  a Real-Time Operating System (RTOS) v Note, we may need to say which Platforms are PIMs are independent of!

Executable UML The Platform-Independent Model (PIM) v Captures all the business requirements of the system under construction, free from implementation detail v They must nevertheless be precise and complete  still include all the hard bits! v Several PIMs will be used to specify a system  each PIM captures a distinct aspect of the system  we term these domains  we use xUML so the PIMs can be combined and executed

Executable UML The Platform-Specific Models v The PSM is a realisation of a PIM for a specific platform  The PIM is “elaborated” with all the implementation details needed to execute it on a specific platform v The PSM is obtained by mapping the PIM to a specific platform  That is, we apply a set of transformation rules to the PIM to obtain a PSM v MDA has most benefit if the PSM is always generated from the PIM  the PSM is not a maintained deliverable - changes are made to the PIM only, and the PSM regenerated

Executable UML Mappings are reusable Command & Control PIMAir Traffic Control PIMAir Traffic Control PSMCommand & Control PSM Shared Common Mapping from PIM to PSM

Executable UML Executable UML (xUML) v a clearly defined simple model structure v a precise semantics for actions v a compliant Action Specification Language (ASL) v a process that supports executable modelling, large-scale reuse and pattern-based design xUMLUML Semantically Weak Elements Precisely Defined Action Semantics =-+