EXECUTABLE UML AND MBSE

Size: px
Start display at page:

Download "EXECUTABLE UML AND MBSE"

Transcription

1 EXECUTABLE UML AND MBSE What Executable UML does, how it is totally different from UML, and how it fits with other Executable languages Leon Starr MODEL INTEGRATION LLC 1 LiU Seminar xuml MBSE - November 16, 2017

2 FUNDAMENTAL IDEA OF MODELING A model isn t the thing you are modeling. To be useful, a model must omit certain aspects of the real world subject to focus on the details of interest. 2-2 LiU Seminar xuml MBSE - November 16, 2017

3 EXCLUDED DETAILS ARE STILL IMPORTANT Just because a detail is systematically ignored, doesn t mean that it is not important Layout diagram Schematic Focuses on layout geometry Is applied to schematic Focuses on component properties and connectivity Excludes layout details 3-3 LiU Seminar xuml MBSE - November 16, 2017

4 MODELING LANGUAGES, PURPOSES AND REQUIRED SKILLS What about UML? Simulink electronics/optronics control (usage at SAAB) physical systems structure 4-5 LiU Seminar xuml MBSE - November 16, 2017

5 UML PURPOSE AND SKILLS Requirements modeling High level code UML profiles Lower level code Just sequences Use cases Lot s of other uses Executable UML UML is not a modeling language. It is a standardized set of of object-oriented notations for many purposes. 5-4 LiU Seminar xuml MBSE - November 16, 2017

6 EXECUTABLE UML Modeling language Our purpose is to model requirements imposed by the real world: book white papers (shlaer-mellor method) Information Rules and constraints Real world behavior Essential computation and to separate these from the platform. Mathematical, executable semantics for each model type Doesn t presume object-oriented implementation 6-3 LiU Seminar xuml MBSE - November 16, 2017

7 AN EXAMPLE XUML MODEL 7 LiU Seminar xuml MBSE - November 16, 2017

8 AIR TRAFFIC CONTROL EXAMPLE Subject matter (domain) ATC Center OAK21C SFO37B SJC18C Gwen ATC67 Rating: B Login: T11:00 (On Duty) DS1 Loc: Front Cap: 20 DS3 (not in use) Toshiko ATC53 Rating: A Login: T15:00 (On Duty) DS2 Loc: Front Cap: 45 Ianto ATC51 Rating: C Last shift ended: T17:00 (Not logged in) Loc: Center Cap: 30 8 LiU Seminar xuml MBSE - November 16, 2017

9 RULES / REQUIREMENTS 1) A controller can not direct air traffic while off duty. 2) An on duty controller must be logged into a duty station. 3) A duty station may or may not be available. 4) A control zone must have its traffic directed by one air traffic controller at all times. 5) An air traffic controller may not work a shift longer than two hours and fifteen minutes. 9-6 LiU Seminar xuml MBSE - November 16, 2017

10 THE CLASS MODEL 0..* LiU Seminar xuml MBSE - November 16, 2017

11 POPULATION Air Traffic Controllers Same object ID {I} Name Rating ATC53 Toshiko A ATC67 ATC51 Gwen Ianto B C Superclass table ID {I, R1} ATC53 ATC67 On Duty Controllers Time logged in Duty Station {R2} 9/27/13 15:00 DS2 9/27/13 11:00 DS1 Subclass tables Off Duty Controllers ID {I, R1} Last shift ended ATC :00 Duty Station SJC18C SFO37B Air Traffic Controllers Number {I} Location Capacity DS1 Front 20 DS3 DS2 Center Front User {R3} 67 None 53 OAK21C ATC53 Time logged in 9/27/13 15:00 ATC67 Time logged in 9/27/13 11:00 On Duty Controllers ATC51 Off Duty Controllers Last shift ended :00 Control Zones Name Traffic Controller SJC18C CZ ATC53 SFO37B CZ ATC53 OAK21C CZ ATC67 11 LiU Seminar xuml MBSE - November 16, 2017

12 LOGIC AND CONSTRAINTS Off Duty ATC goes On Duty? 0..* LiU Seminar xuml MBSE - November 16, 2017

13 LOGIC AND CONSTRAINTS If there is only one On Duty Controller, can he or she go Off Duty? 0..* LiU Seminar xuml MBSE - November 16, 2017

14 LOGIC AND CONSTRAINTS If every Control Zone is being directed, can another Off Duty Controller log in? 0..* LiU Seminar xuml MBSE - November 16, 2017

15 LOGIC AND CONSTRAINTS Do we know when a shift should end? 0..* LiU Seminar xuml MBSE - November 16, 2017

16 LOGIC AND CONSTRAINTS Do we know when a shift should end? 0..* Shift Specification 0..1 Name {(} {I}:: Name Min break : Duration Max shift : Duration 12-6 LiU Seminar xuml MBSE - November 16, 2017

17 EXCLUDED DETAILS States, algorithms, functions are filtered out Platform specific features are filtered out Implementation choices are filtered out Lean modeling language minimal symbols So you can define and evaluate the application logic without distraction 13-5 LiU Seminar xuml MBSE - November 16, 2017

18 MODELING BEHAVIOR WITH STATES AND ACTIONS migrate to On Duty Controller my station.= Duty Station( Number: in.station ) link /R3/my station Time logged in = _now.hms Logged in -> me In use -> my station Actions State models Class Model 14 LiU Seminar xuml MBSE - November 16, 2017

19 OFF DUTY Ready for duty( Station ) Verifying Adequate Break the shift spec.= Shift Specification() // selects singleton if ( _now - Last shift ended < the shift spec.min break ) Log in( in.station ) -> me else Cannot go on duty -> me Logging Out User leaving -> /R3/Duty Station migrate to Off Duty Controller Last shift ended = _now.hms Off duty -> me Log out Log in( Station ) Logging In migrate to On Duty Controller my station.= Duty Station( Number: in.station ) & /R3/my station // link station Time logged in = _now.hms Logged in -> me In use -> my station Verifying Full Handoff Logged in Must hand off zones if /R1/On Duty Controller/R2/Control Zone{ Must handoff zones -> me UI.Control Zones Active( ATC: ID ) } else Log out -> me ON DUTY Ready for a break Handoff complete Handoff( Zone, Controller ) Handing off Control Zone hoff zone.= /R2/Control Zone( Name: in.zone ) if in.controller == ID UI.Cannot handoff to self( Controller: in.controller ) else { new controller.= On Duty Controller( ID: in.controller ) swap hoff zone/r2/on Duty Controller with new controller!new missing: UI.Unknown controller( Controller: in.controller)!old missing: UI.Zone not handled by( Controller: ID) } // swaps controllers and checks for errors Handoff complete -> me 15 LiU Seminar xuml MBSE - November 16, 2017

20 EXCLUDED DETAILS How execution is implemented How synchronization is implemented Distribution across processes/processors 16-4 LiU Seminar xuml MBSE - November 16, 2017

21 ACTIONS EXCLUDED DETAILS Logging In migrate to On Duty Controller my station.= Duty Station( Number: in.station ) & /R3/my station // link station Time logged in = _now.hms Logged in -> me In use -> my station Non-essential ordering of computation Data access implementation 17-3 LiU Seminar xuml MBSE - November 16, 2017

22 FOUNDATION SEMANTICS of the xuml language 18 LiU Seminar xuml MBSE - November 16, 2017

23 CLASS MODEL SEMANTICS A class is a set of things in the real world such that all things in the set: Aircraft Tail number {I} Altitude Speed Heading have the same characteristics exhibit the same behavior are constrained by the same rules Aircraft Tail Number {I} Altitude Airspeed Heading 19-6 LiU Seminar xuml MBSE - November 16, 2017

24 RELATIONAL THEORY SET THEORY FUNCTIONS y = f(x) PREDICATE LOGIC forall x such that 20 LiU Seminar xuml MBSE - November 16, 2017

25 A CLASS PREDICATE Each class in your model is an n-ary predicate where n is the number of attributes An ATC has an ID i, a Name n and a Rating r We can turn this into a proposition (true/false statement) by instantiating it ATC53 is named Ianto and has Rating B (true/false statement) If the instance does not exist, it is false 21-6 LiU Seminar xuml MBSE - November 16, 2017

26 STATE MODEL SEMANTICS Aircraft abstraction Tail number {I} Altitude Airspeed Heading Position Same characteristics, rules, behavior abstraction Common lifecycle 22-2 LiU Seminar xuml MBSE - November 16, 2017

27 THE THEORY Moore state machine Leslie Lamport Time, Clocks, and the Ordering of Events in a Distributed System Video animation of the platform independent synchronization rules Also described here 23-4 LiU Seminar xuml MBSE - November 16, 2017

28 PLATFORM INDEPENDENT EXECUTION RULES What happens when event occurs while instance is executing a state activity? Are events prioritized? What is the duration of an activity? Can event arrival order be guaranteed? 24 LiU Seminar xuml MBSE - November 16, 2017

29 ACTION SEMANTICS Access data from class model Based on relational semantics Send/receive event data on state model Follows state machine execution rules Perform computations Essential sequence only No data implementation assumptions 25 LiU Seminar xuml MBSE - November 16, 2017

30 THE THEORY Data access: Relational operations Sequencing: Data flow semantics Now (system variable) Data types: Type theory Off Duty Controller Write Time logged in me in.station id On Duty Controller Migrate On Duty Controller my station Select R1 me Link Duty Station me Logged in R3 In use Signal Signal 26 LiU Seminar xuml MBSE - November 16, 2017

31 DOMAINS 27 LiU Seminar xuml MBSE - November 16, 2017

32 DOMAIN DEFINITION A domain is a distinct subject matter with its own vocabulary, rules, constraints and behavior. Example: Linear Algebra Not a domain: Stuff that runs on processor X, Stuff in library Y, Stuff dept Z is coding up Domain partition of a system excludes details of deployment onto any particular platform features LiU Seminar xuml MBSE - November 16, 2017

33 EXAMPLE DOMAIN SEPARATION Elevator Management! Floor selection! Cabin dispatching! Door open/close timing Elevator uses Transport Bridge between domains! Safe acceleration! Precise transport Shaft Load Acceleration Profile Door Axis of Motion Bank Cabin Motor gotofloor (Cabin 3, Floor 6) cabinarrived () move (Load 14, Position , Ramp 3B) movecompleted () 29-3 LiU Seminar xuml MBSE - November 16, 2017

34 A COMPLETE DOMAIN CHART Elevator Management UI Transport Signal I/O xuml xtuml Model Execution Architecture Hand coded Existing C 30 LiU Seminar xuml MBSE - November 16, 2017

35 CODE GENERATION 31 LiU Seminar xuml MBSE - November 16, 2017

36 TRANSLATION PRINCIPLES Models are not modified by translation process Information is added, usually via some DSL (domain specific language / model markup) A runtime MX (model execution) platform is supplied A code generator which populates this platform (from the DSL) is provided The MX and code generator work for a class of platforms, e.g. Embedded microcontroller Cloud Fault tolerant distributed 32-9 LiU Seminar xuml MBSE - November 16, 2017

37 EXAMPLE APPROACH FOR A MICROCONTROLLER Pycca Translation Workflow Platform Independent Platform Specific Identify Domains Build & Document Models Specify Domain Mapping Populate Models Populate Mappings Create Pycca Script Write Bridge Code Code / Provide Non-Modeled Domains Use any model draw and text editing tools Spreadsheets Transform and Populate Text Editor Pass along Coded by hand Provided Platform Model Generate Model Code Non-Model Code ST/MX Runtime Provided Model Object Code Link System Executable Compile Non-Model Object Code 33 LiU Seminar xuml MBSE - November 16, 2017

38 SUMMARY Executable UML is a complete modeling language Concrete, unambiguous models of application requirements Executable, platform independent modeling Mathematical foundations Does not presume an OO implementation Domains accommodate other MBSE languages Model Translation Models are not modified to generate code So models can be reused and redeployed Models are stable while platform details change 34 LiU Seminar xuml MBSE - November 16, 2017

39 MORE RESOURCES BOOKS SITES modelstocode.com executableuml.org SOCIAL MODEL INTEGRATION LLC facebook.com/modelint twitter.com/leon_starr Leon Starr 35 LiU Seminar xuml MBSE - November 16, 2017

Open Code Translation from Executable UML Models

Open Code Translation from Executable UML Models Open Code Translation from Executable UML Models Erik Wedin erik.wedin@dynamics.saab.se - Information Systems Development Department, Software Systems (RTLIS) - 2002 Saab Bofors Dynamics AB 2002-10-21

More information

Building and Implementing Concurrent Specifications

Building and Implementing Concurrent Specifications Building and Implementing Concurrent Specifications Stephen J. Mellor Chief Scientist Cortland D. Starrett Engineering Manager A simple embedded system Set the cooking time, close the door press cook.

More information

8.3 cloud roadmap. Dr. Andrei Borshchev, CEO Nikolay Churkov, Head of Software Development. The AnyLogic Company Conference 2018 Baltimore

8.3 cloud roadmap. Dr. Andrei Borshchev, CEO Nikolay Churkov, Head of Software Development. The AnyLogic Company Conference 2018 Baltimore 8.3 cloud roadmap Dr. Andrei Borshchev, CEO Nikolay Churkov, Head of Software Development The AnyLogic Company Conference 2018 Baltimore The AnyLogic Company www.anylogic.com agenda 1. 8.3: the new web

More information

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

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com Department of Software Systems Engineering University of Isfahan Fall 2013 Overview Model & Modeling UML & UML Profile

More information

MDA Distilled Stephen J. Mellor Vice-President Project Technology, Inc.

MDA Distilled Stephen J. Mellor Vice-President Project Technology, Inc. MDA Distilled Stephen J. Mellor Vice-President Project Technology, Inc. http://www.projtech.com PROJECT TECHNOLOGYINC. Table of contents 1. What s the problem? 2. Models 3. Metamodels 4. Mappings 5. Marks

More information

CSSE 490 Model-Based Software Engineering: Software Factories

CSSE 490 Model-Based Software Engineering: Software Factories CSSE 490 Model-Based Software Engineering: Software Factories Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: MBE Discipline Relate Model-Based

More information

MDA Distilled Stephen J. Mellor Vice-President Project Technology, Inc.

MDA Distilled Stephen J. Mellor Vice-President Project Technology, Inc. MDA Distilled Stephen J. Mellor Vice-President Project Technology, Inc. http://www.projtech.com PROJECT TECHNOLOGYINC. Table of contents 1. What s the problem? 2. Models 3. Metamodels 4. Mappings 5. Marks

More information

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

A Comparison of the Booch Method and Shlaer-Mellor OOA/RD

A Comparison of the Booch Method and Shlaer-Mellor OOA/RD A Comparison of the Booch Method and Shlaer-Mellor OOA/RD Stephen J. Mellor Project Technology, Inc. 7400 N. Oracle Rd., Suite 365 Tucson Arizona 85704 520 544-2881 http://www.projtech.com 2 May 1993 The

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics Process Modelling Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Department of Measurement and Information Systems

More information

Introduction to UML. (Unified Modeling Language)

Introduction to UML. (Unified Modeling Language) Introduction to UML (Unified Modeling Language) What Is the UML? UML stands for Unified Modeling Language. UML is a family of graphical notations that help in describing and designing software systems

More information

Use Parametric notation. Interpret the effect that T has on the graph as motion.

Use Parametric notation. Interpret the effect that T has on the graph as motion. Learning Objectives Parametric Functions Lesson 3: Go Speed Racer! Level: Algebra 2 Time required: 90 minutes One of the main ideas of the previous lesson is that the control variable t does not appear

More information

Model Driven Development with xtuml and BridgePoint

Model Driven Development with xtuml and BridgePoint Model Driven Development with xtuml and BridgePoint xtuml Executable and Translatable UML Unified Modeling Language Industry standard notation Family of languages Executable UML Defines a method, including:

More information

Calgary: 10th Floor Bankers Hall, West Tower 888-3rd Street SW, Calgary, AB T2P 5C5 p: f:

Calgary: 10th Floor Bankers Hall, West Tower 888-3rd Street SW, Calgary, AB T2P 5C5 p: f: Modelling Using Archimate and Sparx EA Course Number: MOD-300 Format: Instructor Led, Classroom or Virtual Standard Duration: 36 hours, can be shortened to 24 hours for experienced audiences This 36 hour

More information

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics Process Modelling Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Department of Measurement and Information Systems

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: , Q.1 What is Object Orientation? Explain the concept of class, objects, instance, generalization, and associations. Ans :-- In the past, information systems used to be defined primarily by their functionality:

More information

Executable UML. Stephen J. Mellor

Executable UML. Stephen J. Mellor Executable UML Stephen J. Mellor Executable UML is here. While it is possible today to add code to UML diagrams and then execute them, in so doing you must make a series of decisions about implementation

More information

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

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. ! What Are Formal Methods? David S. Rosenblum ICS 221 Winter 2001! Use of formal notations! first-order logic, state machines, etc.! in software system descriptions! system models, constraints, specifications,

More information

Components vs. Objects

Components vs. Objects Components vs. Objects Luigia Petre Turku Centre for Computer Science & Abo Akademi University, FIN-20520 Turku, Finland (Presented at Nordic Workshop on Programming Theory, Bergen, Norway, Oct 11-13,

More information

Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL

Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL Restricted Siemens AG 2017 Realize innovation. Content 1 Overview 3 2 LMS Imagine.Lab

More information

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

Introduction to Dependable Systems: Meta-modeling and modeldriven

Introduction to Dependable Systems: Meta-modeling and modeldriven Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

How to Build Articulate Class Models and get Real Benefits from UML

How to Build Articulate Class Models and get Real Benefits from UML and get Real Benefits from UML Software Model Engineer Model Integration, LLC. www.modelint.com San Francisco, California, USA leon_starr@modelint.com Abstract The typical UML class model is a nebulous

More information

CIS 771: Software Specifications. Lecture 4: More Alloy Basics

CIS 771: Software Specifications. Lecture 4: More Alloy Basics CIS 771: Software Specifications Lecture 4: More Alloy Basics Copyright 2001-2002, Matt Dwyer, John Hatcliff, and Rod Howell. The syllabus and all lectures for this course are copyrighted materials and

More information

Incorporating Thermal Expansion into CAD-Based 3-Dimensional Assembly Variation Analysis

Incorporating Thermal Expansion into CAD-Based 3-Dimensional Assembly Variation Analysis Incorporating Thermal Expansion into CAD-Based 3-Dimensional Assembly Variation Analysis Contents Abstract 1 Background 1 How to Create an Accurate Assembly Variation Model 3 Integration & CAD Functionality

More information

Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL

Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL 1 SAAB BOFORS DYNAMICS Anders Eriksson Senior Software Systems Engineer

More information

When addressing VLSI design most books start from a welldefined

When addressing VLSI design most books start from a welldefined Objectives An ASIC application MSDAP Analyze the application requirement System level setting of an application Define operation mode Define signals and pins Top level model Write a specification When

More information

Introduction to Software Testing Chapter 5.1 Syntax-based Testing

Introduction to Software Testing Chapter 5.1 Syntax-based Testing Introduction to Software Testing Chapter 5.1 Syntax-based Testing Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/ softwaretest/ Ch. 5 : Syntax Coverage Four Structures for Modeling Software Graphs

More information

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models Peter Feiler Software Engineering Institute phf@sei.cmu.edu 412-268-7790 2004 by Carnegie Mellon University

More information

Revit 2018 Architecture Certification Exam Study Guide

Revit 2018 Architecture Certification Exam Study Guide ELISE MOSS Autodesk Autodesk Certified Instructor Revit 2018 Architecture Certification Exam Study Guide Certified User and Certified Professional SDC P U B L I C AT I O N S Better Textbooks. Lower Prices.

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

Recalling the definition of design as set of models let's consider the modeling of some real software.

Recalling the definition of design as set of models let's consider the modeling of some real software. Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous

More information

ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ

ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ ΠΑΡΑΡΤΗΜΑ «Β» ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ Α/Α ΠΕΡΙΓΡΑΦΗ ΕΚΠΑΙΔΕΥΣΗΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ 1. Java SE8 Fundamentals What Is a Java Program? Introduction to Computer Programs Key Features of the Java Language

More information

xuml, AADL and Beyond

xuml, AADL and Beyond xuml and AADL xuml, AADL and Beyond Chris Raistrick www.kc.com xuml and AADL xuml Overview Chris Raistrick www.kc.com Platform Independent Model A Platform Independent Model (PIM) is a technology agnostic

More information

JavaFX on javac: A Case Study

JavaFX on javac: A Case Study JavaFX on javac: A Case Study September 25, 2008 JVM Language Summit Tom Ball Google Overview JavaFX Script Compiler Requirements Why Use javac? javafxc Design Lessons Learned JavaFX Script Compiler Requirements

More information

What s Next. INF 117 Project in Software Engineering. Lecture Notes -Spring Quarter, Michele Rousseau Set 6 System Architecture, UML

What s Next. INF 117 Project in Software Engineering. Lecture Notes -Spring Quarter, Michele Rousseau Set 6 System Architecture, UML What s Next INF 117 Project in Software Engineering Lecture Notes -Spring Quarter, 2008 Michele Rousseau Set 6 System Architecture, UML Set 6 2 Announcements kreqs should be complete Except minor changes

More information

CSE P 501 Exam 8/5/04

CSE P 501 Exam 8/5/04 Name There are 7 questions worth a total of 65 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. You may refer to the following references: Course

More information

CS233:HACD Introduction to Relational Databases Notes for Section 4: Relational Algebra, Principles and Part I 1. Cover slide

CS233:HACD Introduction to Relational Databases Notes for Section 4: Relational Algebra, Principles and Part I 1. Cover slide File: CS233-HACD-Notes4.doc Printed at: 16:15 on Friday, 28 October, 2005 CS233:HACD Introduction to Relational Databases Notes for Section 4: Relational Algebra, Principles and Part I 1. Cover slide In

More information

What is a distributed system?

What is a distributed system? CS 378 Intro to Distributed Computing Lorenzo Alvisi Harish Rajamani What is a distributed system? A distributed system is one in which the failure of a computer you didn t even know existed can render

More information

logic with quantifiers (informally)

logic with quantifiers (informally) EDAA40 Discrete Structures in Computer Science 8: Quantificational logic Jörn W. Janneck, Dept. of Computer Science, Lund University logic with quantifiers (informally) Given a logical formula that depends

More information

Propositional Logic. Part I

Propositional Logic. Part I Part I Propositional Logic 1 Classical Logic and the Material Conditional 1.1 Introduction 1.1.1 The first purpose of this chapter is to review classical propositional logic, including semantic tableaux.

More information

A REVIEW OF BASIC KNOWLEDGE OF DATABASE SYSTEM

A REVIEW OF BASIC KNOWLEDGE OF DATABASE SYSTEM A REVIEW OF BASIC KNOWLEDGE OF DATABASE SYSTEM 1. Relational model I still remember it is my first time to read such an academic article in detail. I have to say that it s really a hard time for me at

More information

IVS 2.0 Software Manual for Air, Vac & Water Machines

IVS 2.0 Software Manual for Air, Vac & Water Machines IVS 2.0 Software Manual for Air, Vac & Water Machines Development Draft Ver. 7.13.07 Table of Contents PREFACE...1 CHAPTER 1-INCORPORATING IVS 2.0 INTO YOUR BUSINESS...2 Overview... 2 Menu Selections...

More information

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

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods 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

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

Revit. Website:

Revit.   Website: Revit Email: info@computertraininingwales.co.uk Website: www.computertrainingwales.co.uk Revit Beginner The objective of this Revit training course is to give delegates the fundamental skills to use the

More information

Consider a description of arithmetic. It includes two equations that define the structural types of digit and operator:

Consider a description of arithmetic. It includes two equations that define the structural types of digit and operator: Syntax A programming language consists of syntax, semantics, and pragmatics. We formalize syntax first, because only syntactically correct programs have semantics. A syntax definition of a language lists

More information

Big-O-ology 1 CIS 675: Algorithms January 14, 2019

Big-O-ology 1 CIS 675: Algorithms January 14, 2019 Big-O-ology 1 CIS 675: Algorithms January 14, 2019 1. The problem Consider a carpenter who is building you an addition to your house. You would not think much of this carpenter if she or he couldn t produce

More information

Framework for replica selection in fault-tolerant distributed systems

Framework for replica selection in fault-tolerant distributed systems Framework for replica selection in fault-tolerant distributed systems Daniel Popescu Computer Science Department University of Southern California Los Angeles, CA 90089-0781 {dpopescu}@usc.edu Abstract.

More information

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

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Somayeh Azizi 1, Vahid Panahi 2 Computer science department, Sama Technical and vocational, Training

More information

Introduction to UML. Danang Wahyu utomo

Introduction to UML. Danang Wahyu utomo Introduction to UML Danang Wahyu utomo danang.wu@dsn.dinus.ac.id 085 740 955 623 Evolution of OO Development Methods History of OOAD leading to UML Why Model? Analyse the problem domain - Simplify reality

More information

An Integrated Systems and Software Engineering Process (ISE&PPOOA)

An Integrated Systems and Software Engineering Process (ISE&PPOOA) An Integrated Systems and Software Engineering Process (ISE&PPOOA) Seminar at Aula Artigas. Industrial Engineering School. ETSII- UPM. Madrid (Spain). May 18, 2012. José Luis Fernández Sánchez Profesor

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax

More information

Practical UML - A Hands-On Introduction for Developers

Practical UML - A Hands-On Introduction for Developers Practical UML - A Hands-On Introduction for Developers By: Randy Miller (http://gp.codegear.com/authors/edit/661.aspx) Abstract: This tutorial provides a quick introduction to the Unified Modeling Language

More information

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation Module Outline Fundamentals of Object Positioning Object Oriented Analysis Fundamentals of Object 1. Encapsulation 2. Abstraction 3. Inheritance 4. Polymorphism The need of Modeling Unified modeling language

More information

Maintaining accessibility through testing?

Maintaining accessibility through testing? ᅠ Maintaining accessibility through testing? Samuel Thibault Slides & stuff on http://brl.thefreecat.org/ http://hypra.fr/ 1 Gnuplot Color blindness: 8% male, 0.5% female 4 Gnuplot 5!! Color blindness:

More information

SECTION 1: INTRODUCTION. ENGR 112 Introduction to Engineering Computing

SECTION 1: INTRODUCTION. ENGR 112 Introduction to Engineering Computing SECTION 1: INTRODUCTION ENGR 112 Introduction to Engineering Computing 2 Course Overview What is Programming? 3 Programming The implementation of algorithms in a particular computer programming language

More information

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends! Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science

More information

Diploma in Software Testing (DST)

Diploma in Software Testing (DST) SEED Infotech Ltd. : ' Panchasheel', 42/16, Erandawana`, SEED Infotech Lane, Off Karve Road Pune - 411004. India www.seedinfotech.com Course Name : Duration : Class room: 114 Hrs Product Code : ST-ST-50001

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

UML-based framework for simulation of distributed ECU systems in automotive applications

UML-based framework for simulation of distributed ECU systems in automotive applications UML-based framework for simulation of distributed ECU systems in automotive applications Frank Steinert protime GmbH Prien Germany A UML based framework for the simulation of distributed systems of embedded

More information

Introduction to Information Security Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Information Security Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Information Security Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 17 Now, let us talk about the spheres of security

More information

bahmanzamani.com Computer Engineering i Dept. University of Isfahan

bahmanzamani.com Computer Engineering i Dept. University of Isfahan (MDSE) Bh Bahman Zamani, iphd Ph.D. bahmanzamani.com Computer Engineering i Dept. University of Isfahan Presented at Sheikhbahaee University Baharestan - Isfahan Feb. 4 th, 2010 (1388/11/15) Model What

More information

Transactions on Engineering Sciences vol 3, 1993 WIT Press, ISSN

Transactions on Engineering Sciences vol 3, 1993 WIT Press,   ISSN Object-oriented data model for computer aided design in electrical engineering I. Salomie," D.G. Elliman* Computer Science and Engineering Department, Technical Romania & Computer Science Department, University

More information

INTRODUCTION TO SOFTWARE ENGINEERING

INTRODUCTION TO SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING Structural Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering Introduction Testing is simple all a tester needs to do is find

More information

Leveraging 2D Data in 3D Modeling

Leveraging 2D Data in 3D Modeling Leveraging D Data in 3D Modeling Leveraging D Data in 3D Modeling As more and more companies switch to 3D modeling the question of utilizing existing D data and referenced D data from collaborative sources

More information

EXECUTABLE UML. Author : Selo Sulistyo and Warsun Najib

EXECUTABLE UML. Author : Selo Sulistyo and Warsun Najib EXECUTABLE UML Author : Selo Sulistyo and Warsun Najib Dept of Information and Communications Technology Agder University College, Norway Email : ssulis01@siving.hia.no wnajib01@siving.hia.no Abstract

More information

LSSP Corporation 1 PinPoint Document Management Initial Setup Guide - Advanced

LSSP Corporation 1 PinPoint Document Management Initial Setup Guide - Advanced INTRODUCTION This guide will go over some of the more advanced topics involved with setting up your database. Every topic discussed in this guide is completely optional for your database none of the following

More information

BridgePoint Modeling Exercises in Building Executable Models Mentor Graphics Corporation

BridgePoint Modeling Exercises in Building Executable Models Mentor Graphics Corporation BridgePoint Modeling Exercises in Building Executable Models Mentor Graphics Corporation Published April 2013 Copyright 2006-2013 Mentor Graphics Corporation 1. Lab 1 1.1 Background BehindTheTimes Inc.

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Diploma Of Computing

Diploma Of Computing Diploma Of Computing Course Outline Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June, October 022638B

More information

SMV Project. Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena. April 28, 2009

SMV Project. Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena. April 28, 2009 SMV Project Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena April 28, 2009 Indiana University - Department of Computer Science P515 Specification and Verification For: Dr. Steven Johnson Table

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

UML enabling the Content Framework

UML enabling the Content Framework Training Services UML enabling the Content Framework Selvyn Wright swright@celestial.co.uk www.celestial.co.uk +447778 449924 Agenda An introduction to modelling and little history Are we the first to

More information

Requirements Elicitation

Requirements Elicitation Requirements Elicitation Introduction into Software Engineering Lecture 4 25. April 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation: Software Lifecycle

More information

TOPOGRAPHY - a LIDAR Simulation

TOPOGRAPHY - a LIDAR Simulation Title TOPOGRAPHY - a LIDAR Simulation Grade Level(s): 9-12 Estimated Time: 1.5 hours Discussion of Technology: Appendix A Construction Details: Appendix B MSDE Indicator(s) Goal 1: Skills and Processes

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

2 Unit Bridging Course Day 2 Linear functions I: Gradients

2 Unit Bridging Course Day 2 Linear functions I: Gradients 1 / 33 2 Unit Bridging Course Day 2 Linear functions I: Gradients Clinton Boys 2 / 33 Linear functions Linear functions are a particularly simple and special type of functions. They are widely used in

More information

STEM Scholars Radius: STEM Readiness

STEM Scholars Radius: STEM Readiness STEM Scholars Radius: STEM Readiness Curriculum Guide Recommended Grade Level: 9-12 Total Lessons: 16 (10-20 minutes each) Total Time: 6-8 hours Subject Fit: CTE Standards Alignment: Common Career Technical

More information

TSN Influences on ODVA Technologies. Steve Zuponcic, Mark Hantel, Rudy Klecka, Paul Didier Rockwell Automation, Cisco Systems.

TSN Influences on ODVA Technologies. Steve Zuponcic, Mark Hantel, Rudy Klecka, Paul Didier Rockwell Automation, Cisco Systems. TSN Influences on ODVA Technologies Steve Zuponcic, Mark Hantel, Rudy Klecka, Paul Didier Rockwell Automation, Cisco Systems February 22, 2017 Presentation Overview Introduction Definition of Terms Standards

More information

MDA Driven xuml Plug-in for JAVA

MDA Driven xuml Plug-in for JAVA 2012 International Conference on Information and Network Technology (ICINT 2012) IPCSIT vol. 37 (2012) (2012) IACSIT Press, Singapore MDA Driven xuml Plug-in for JAVA A.M.Magar 1, S.S.Kulkarni 1, Pooja

More information

FIPA specification and JADE. Tomáš Poch

FIPA specification and JADE. Tomáš Poch FIPA specification and JADE Tomáš Poch Agents System that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives [Wooldridge

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

MODELS OF DISTRIBUTED SYSTEMS

MODELS OF DISTRIBUTED SYSTEMS Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between

More information

Integrated Modeling for Engineering Complex Heterogeneous Systems SWISSED Markus Schacher & Rolf Gubser, KnowBodies

Integrated Modeling for Engineering Complex Heterogeneous Systems SWISSED Markus Schacher & Rolf Gubser, KnowBodies Integrated Modeling for Engineering Complex Heterogeneous Systems SWISSED 2016 Markus Schacher & Rolf Gubser, KnowBodies Hohlstrasse 534, 8048 Zürich, Switzerland, www.knowgravity.com Overview Engineering

More information

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions) By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

More information

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

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh UML big picture Perdita Stevens School of Informatics University of Edinburgh Plan Whence UML? Parts of UML How it all fits together UML as a language Consistency: what does it mean, do we need it? Defining

More information

Lab Assignment #10: Mechanisms

Lab Assignment #10: Mechanisms Lab Assignment #10: Mechanisms Instructor: Mike Philpott (email: mphilpot@illinois.edu) Date Due: One week from Start Day of Lab (turn in deadline 11pm night before next lab) Part 0. Configure Creo. Apply

More information

The Corticon Rule Modeling Methodology. Applied to. FEMA Disaster Assistance Fraud Detection. A Case Study

The Corticon Rule Modeling Methodology. Applied to. FEMA Disaster Assistance Fraud Detection. A Case Study The Corticon Rule Modeling Methodology Applied to FEMA Disaster Assistance Fraud Detection A Case Study By Mike Parish Contents Table Of Figures... 4 The Business Problem... 6 Identify the Business Decision(s)

More information

CS:5810 Formal Methods in Software Engineering

CS:5810 Formal Methods in Software Engineering CS:5810 Formal Methods in Software Engineering Introduction to Alloy Part 1 Copyright 2001-17, Matt Dwyer, John Hatcliff, Rod Howell, Laurence Pilard, and Cesare Tinelli. Created by Cesare Tinelli and

More information

MODELS OF DISTRIBUTED SYSTEMS

MODELS OF DISTRIBUTED SYSTEMS Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between

More information

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Whole Platform Foundation. The Long Way Toward Language Oriented Programming Whole Platform Foundation The Long Way Toward Language Oriented Programming 2008 by Riccardo Solmi made available under the Creative Commons License last updated 22 October 2008 Outline Aim: Engineering

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

Team-Based Collaboration in Simulink Chris Fillyaw Application Engineer Detroit, MI

Team-Based Collaboration in Simulink Chris Fillyaw Application Engineer Detroit, MI Team-Based Collaboration in Simulink Chris Fillyaw Application Engineer Detroit, MI 2012 The MathWorks, Inc. Development of a complex system Agenda Team-based workflow considerations Reproducing the design

More information

Covers Autodesk Advance Steel fundamentals, so you become quickly productive with the software

Covers Autodesk Advance Steel fundamentals, so you become quickly productive with the software Covers Autodesk Advance Steel fundamentals, so you become quickly productive with the software Autodesk Advance Steel 2017 www.autodesk.com new Autodesk Advance Steel users. It is recommended that you

More information

Document Control Identification. Document History. Authorisation. Rail Safety Manager Brookfield Rail

Document Control Identification. Document History. Authorisation. Rail Safety Manager Brookfield Rail Document Control Identification Document History Authorisation Rail Safety Manager Brookfield Rail Table of Contents Glossary for this Rule... 4... 7... 7... 8... 9... 10... 10... 11... 11... 12... 12...

More information