Abstraction Patterns in Model-Based Engineering

Size: px
Start display at page:

Download "Abstraction Patterns in Model-Based Engineering"

Transcription

1 Abstraction Patterns in Model-Based Engineering Bran Selic Malina Software Corp., Canada Zeligsoft (2009) Ltd., Canada Simula Research Labs, Norway University of Toronto, Canada Carleton University, Canada

2 What is Abstraction? A human defence mechanism for coping with overwhelming complexity Often, it is our only mechanism for dealing with complexity SYSTEM 2

3 Abstraction: A Fundamental Engineering Skill The ability to see the forest (i.e., the system as a whole) despite the trees (i.e., technological detail) It seems to be less common than people might expect...particularly among software people Many programmers but few architects Agile development and big design perceived as mutually exclusive E.g., M. Fowler: Is design dead? Requires an interest in and a concern for the system and its purpose (users) Can abstraction be taught? 3

4 Background: Definitions ABSTRACTION: A process by which higher concepts are derived from the usage and classification of literal ( real or concrete ) concepts, first principles, and/or other abstractions [Wikipedia] ABSTRACTION (computer science): a mechanism and practice to reduce and factor out details so that one can focus on a few concepts [Wikipedia] Two approaches: Relaxionist: By weakening of constraints Reductionist: By removing irrelevant detail Relevance is a function of viewpoint (set of concerns) 4

5 For Our Purposes... ABSTRACTION : Selective reduction of information of a system which preserves its salient properties relative to a given set of concerns Refinement is the inverse process In engineering: abstraction modeling 5

6 Engineering Models ENGINEERING MODEL: A selective representation of some system that captures accurately and concisely all of its essential properties of interest for a given set of concerns We don t see everything at once What we do see is adjusted to human understanding 6

7 Why Do Engineers Build Models? To understand the interesting characteristics of an existing or desired (complex) system and its environment To predict the interesting characteristics of the system by analysing its model(s) To communicate their understanding and design intent (to others and to oneself!) To specify...the implementation of the system (models as blueprints) 7

8 The Trouble with Models The devil is in the details Leaving out something crucial Underestimating its relevance Accidental oversight Inaccurate and untrustworthy models Exacerbated by the common practice of NOT documenting the abstraction process 8

9 Characteristics of Useful Engineering Models Purposeful: Constructed to address a specific set of concerns/audience Abstract Emphasize important aspects while removing irrelevant ones Understandable Expressed in a form that is readily understood by observers Accurate Faithfully represents the modeled system Predictive Can be used to answer questions about the modeled system Cost effective Should be much cheaper and faster to construct than actual system To be useful, engineering models must satisfy at least these characteristics! 9

10 What About Software Modeling? PH reached X start Current PH Monitor PH Control PH stop Raise PH Input valve control bubbles and arrows, as opposed to programs, never crash -- B. Meyer UML: The Positive Spin American Programmer,

11 The Prevalent Attitude to Modeling We don t do modeling here...it s a waste of time But... 11

12 Modern Model-Based Software Engineering Models can be refined continuously until the application is fully specified the model becomes the system that it was modeling! start «sc_method» producer out1 producer void generate_data() {for (int i=0; i<10; i++) {out1 = i;}} producer NotStarted start Started refine NotStarted start /generate_data( ) Started St1 St2 12

13 A Unique Feature of Software A software model and the software being modeled share the same medium the computer Which also happens to be our most advanced and most versatile automation technology Software has the unique property that it allows us to directly evolve models into implementations without fundamental discontinuities in the expertise, tools, or methods! High probability that key design decisions will be preserved in the implementation and that the results of prior analyses will be valid 13

14 The Model-Based Engineering (MBE) Approach An approach to system and software development in which software models play an indispensable role Based on two time-proven ideas: (1) ABSTRACTION (2) AUTOMATION S1 e3/action3 S1 e3/action3 Realm of modeling languages e1/action1 S2 S3 e2/action2 e1/action1 S2 S3 e2/action2 Realm of tools switch (state) { case 1:action1; newstate( 2 ); break; case 2:action2; newstate( 3 ); break; case 3:action3; newstate( 1 ); break;} switch (state) { case 1:action1; newstate( 2 ); break; case 2:action2; newstate( 3 ); break; case 3:action3; newstate( 1 ); break;} 14

15 But, if the Model is the System do we not lose the abstraction value of models? producer void generate_data() {for (int i=0; i<10; i++) {out1 = i;}} NotStarted start Started St1 St2 /generate_data( ) The computer offers a uniquely capable abstraction device: Software can be represented from any desired viewpoint at any desired level of abstraction The abstraction is inside the system and can be extracted automatically Provided that the abstraction process is tracked and recorded 15

16 Successive Levels of Abstraction Higher-level models are needed at all times both during and following development Not just during design For maintenance and system evolution Level N Model Level N-1 Model... refinement refinement Implementation (L0) Model 16

17 Tracking Refinement/Abstraction If the relationships between models at different levels of abstraction are explicitly tracked and recorded, it is possible to: Validate the abstraction/refinement steps Reconstruct (automatically) an abstract model from a more concrete one Level N Model Level N-1 Model... abstraction refinement abstraction refinement Implementation (L0) Model 17

18 The Abstraction Patterns Catalogue A starter catalogue to be used by architects and developers Precise definition of patterns expressed using a graph-based formalism (featured graphs) Suitable for various graph-based modeling languages such as UML Patterns for: Structure Behaviour Also included are temporal patterns 18

19 A Useful Formalism: Featured Graphs Nodes: structural or behavioural components n 1 p 1 3 p 2 1 n 2 {f 2 1, f 2 2,...} p 1 1 {f 1 1, f 1 2,...} e 12 {f 12 1, f 12 2,...} p 2 2 p 1 2 Features: fine-grained attributes e 13 {f 23 1, f 23 2,...} Edges: information flows, communication channels FG = <Nodes, Edges> n Nodes; n = <id, Ftrs(n), Pins(n)> e Edges; e = <id, Ftrs(e), Srcs(e), Dests(e)> p 3 1 p 3 2 n 3 {f 3 1, f 3 2,...} p 3 3 Pins: connection points (e.g., ports, pins) 19

20 Abstraction/Refinement Patterns Patterns used by architects and designers Each pattern consists of a refinement graph, an abstract graph, and a formally defined set of mappings between them Pattern = <RefGraph, Mappings, AbsGraph> Each mapping is a pair comprising a single AbsGraph element and a corresponding RefGraph element refelem RefGraph mapping Mappings mapping = <abselem, refelem> abselem AbsGraph Each refgraph element is covered by a mapping to ensure that nothing is overlooked 20

21 Structural Pattern: Black Box Based on a common meta-pattern that appears in different forms in both structure and behaviour modeling Synthesizes a network of tightly-coupled concrete components and renders them as a single high-level component Cross-over connectors map to a port-connector combination cx1 e 1 Glass Box gb' p 1 p 2 c2 e 2 abstraction cx2 Everything fully inside the box maps to a single abstract component cx1 e 1 c1 e p 1 c3 2 p 2 cx2 c4 21

22 Structural Pattern: Black Line Abstracts a collection of elements realizing a communications path into a single edge (connector) Could be multipoint Cross-over connectors map to connector end points A B abstraction Everything fully inside the box maps to a single abstract connector Connector Glass Box e A 1 e C1 2 e C2 3 C3 e 4 C4 e 5 B 22

23 Structural Pattern: Cable Group of connectors between that share the same source and sink components All concrete connectors map to a single high-level connector AbsCmp1 e' abstraction AbsCmp2 Apply Pattern RefCmp1 e 1 e 2 e 3... RefCmp2 e n 23

24 Structural Pattern: Port Group Multiple concrete ports (possibly different types) merged into a single abstract port Often combined with Cable pattern AbsCmp p' abstraction p 1 RefCmp p 2 p 3... p n 24

25 A Common Structural Pattern: Layering What does it actually mean? Caster Blooper Geezer Super Framework Glooger Sneezer Dooper Framework Bizbaz FOO POO PURR RUF GRUMP 25

26 Platform Layering Distinguishing characteristics Upper layer: realizes some higher-level functionality Lower layer: a set of potentially shared services used to implement the upper layer = platform Example: Upper layer entities depend on the services of the platform layer for their implementation Application 1 Application 2 a11 a12 a21 a22... File System Multitasking System IPC System... Operating Platform System Lower layer entities do not depend on the upper layer entities, but do participate in their implementation 26

27 Structural Pattern: Platform Layering A composition of multiple pattern applications Cable pattern for cross-over connectors (usually not shown) e' app plat Black Box pattern Black Box pattern for application and for application and platform platform layers components abstraction Application Glass Box a1 e 1 a2 b2 e 5 b1 e 7 e 2 e 4 e 6 serva e 6 servc e3 servb Platform Glass Box 27

28 The Semantics of Layering Layering requires distinguishing between two categories of interfaces Implementationspecific interfaces (service access points) Implementationindependent (service) interfaces Application Glass Box a1 e 1 a2 b2 e 5 b1 e 7 e 2 e 4 e 6 serva e 6 servc e3 servb Platform Glass Box 28

29 The 3-Dimensional Component Model Peer interface Service Servce Access Points To understand the capabilities of a black-box component it is sufficient to know its interface This may mean that we have to know its layer interfaces as well 29

30 The Dimensions of Layering In most systems, layering is a complex multidimensional relationship Real systems cannot be described by a single vertical layer stack Level 7 Level 6 Level 5 Level 4 Network Link Hardware Operating system 30

31 Failed Representations of Layering Staircase model Toaster model Application Specialized Services General Services Operating System 31

32 Behavioural Pattern: Summary Message (1) A high-level message abstracts a low-level protocol Syntactically equivalent to the Cable pattern Caller Phone System Initiate Call abstraction Caller Phone System Off Hook Dialtone 1 st Digit 2 nd Digit... Last Digit Ringtone 32

33 Hybrid Pattern: Layered Communication Combination of structural and behavioural patterns a' m' b' This connector is not shown in this diagram but is in the abstract model abstraction Glass Box A Connector Glass Box Glass Box B a1 a2 c1 c2 b2 b1 m1 m2 m3 m6 m4 m5 Glass Box m 33

34 Behavioural Pattern: Summary State Syntactically similar to the Black Box pattern t6 S5 t1 S1 AbsS May involve the Summary Message pattern S1 abstraction t1 S2 t5 S5 t2 t6 S3 t4 S4 Glass State 34

35 Behavioural Pattern: Group Transition Involves a Summary State pattern followed by a syntactical equivalent of the structural Cable pattern t' S1 S e' abstraction t e1 S2 S1 t e2 S3 t e3 S4 35

36 Behavioural Pattern: Summary Activity Syntactical equivalent of Black Box f1 AbsA f2 A1 A6 abstraction Glass Activity A3 A1 f1 A2 f2 A6 A4 A5 36

37 Temporal Abstraction Patterns For reducing the complexity of time Not inherently graph based Time Compression Duration abstracted as an instant Logical Time Duration abstracted away entirely Only time order is preserved Discrete Time Time discretized into equidistant intervals Often combined with time compression: all behaviour is compressed to the instant when the current interval ends 37

38 Summary Abstraction is the primary tool for dealing with overwhelming complexity With model-based engineering methods, we are taking greater advantage of the power of abstraction in software development but, the actual process involved is rarely documented Difficult to identify faulty abstractions and faulty refinements and difficult to reconstitute abstract views of an implemented system A formalism for describing the abstraction process combined with a catalogue of widely used and proven abstraction patterns can help us mitigate and possibly eliminate these issues 38

39 THANK YOU QUESTIONS, COMMENTS, ARGUMENTS... 39

Modeling Software Architectures with UML 2

Modeling Software Architectures with UML 2 Modeling Software Architectures with UML 2 Bran Selic IBM Distinguished Engineer IBM Canada 2006 IBM Corporation Outline IBM Rational Software On Software Architecture and MDD Requirements for Modeling

More information

Model-Driven Development: Its Essence and Opportunities

Model-Driven Development: Its Essence and Opportunities IBM Software Group Model-Driven Development: Its Essence and Opportunities Bran Selic IBM Distinguished Engineer IBM Rational Software Canada bselic@ca.ibm.com Clic kto A Bit of Modern Software SC_MODULE(producer)

More information

The Theory and Practice of Modeling Language Design Теорија и пракса пројектовања језика за моделирањe софтверских система

The Theory and Practice of Modeling Language Design Теорија и пракса пројектовања језика за моделирањe софтверских система The Theory and Practice of Modeling Language Design Теорија и пракса пројектовања језика за моделирањe софтверских система Бранислав Селић Malina Software Corp., Canada Zeligsoft (2009) Ltd., Canada Simula

More information

Software Design Fundamentals. CSCE Lecture 11-09/27/2016

Software Design Fundamentals. CSCE Lecture 11-09/27/2016 Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -

More information

Architectural Decomposition & Representations Reid Holmes

Architectural Decomposition & Representations Reid Holmes Architectural Decomposition & Representations Reid Holmes What is SW architecture? Definition: Blueprint for construction and evolution. Encompasses: Structure Behaviour The set of principal design decisions

More information

Web Services Annotation and Reasoning

Web Services Annotation and Reasoning Web Services Annotation and Reasoning, W3C Workshop on Frameworks for Semantics in Web Services Web Services Annotation and Reasoning Peter Graubmann, Evelyn Pfeuffer, Mikhail Roshchin Siemens AG, Corporate

More information

Describing Information Systems Moving Beyond UML

Describing Information Systems Moving Beyond UML Describing Information Systems Moving Beyond UML Eoin Woods Artechra eoin@artechra.com Nick Rozanski Artechra nick@artechra.com Timetable 10:00-10:10 Introductions 10:10-10:25 - Presentation: Architectural

More information

Hybrid Agent-Landscape Model Composition

Hybrid Agent-Landscape Model Composition Hybrid Agent-Landscape Model Composition Gary Mayer, Hessam Sarjoughian, Eowyn Allen Presented at the 1 st CSE Student Research Expo Hybrid Agent-Landscape Models Hybrid : both the human and environmental

More information

CS64 Week 5 Lecture 1. Kyle Dewey

CS64 Week 5 Lecture 1. Kyle Dewey CS64 Week 5 Lecture 1 Kyle Dewey Overview More branches in MIPS Memory in MIPS MIPS Calling Convention More Branches in MIPS else_if.asm nested_if.asm nested_else_if.asm Memory in MIPS Accessing Memory

More information

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical Name of faculty: Gaurav Gambhir Discipline: Computer Science Semester: 6 th Subject: CSE 304 N - Essentials of Information Technology Lesson Plan Duration: 15 Weeks (from January, 2018 to April, 2018)

More information

Modeling Real-Time System Architectures with UML 2.0

Modeling Real-Time System Architectures with UML 2.0 Modeling Real-Time System Architectures with UML 2.0 Bran Selic Principal Engineer IBM Software Group Rational Software bselic@ca.ibm.com Objectives Define architecture and its role in software design

More information

UML Diagrams MagicDraw UML Diagrams

UML Diagrams MagicDraw UML Diagrams In software development, the diagram is the equivalent of a blueprint. To meet the various needs of many parties, we often need several different blueprints of the same system. Furthermore, every system

More information

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

SYSTEM MODELING Introduction

SYSTEM MODELING Introduction SYSTEM MODELING Introduction 2015-09-14 François Terrier 1 FIRST WHAT IS A SYSTEM? Complex and heterogeneous systems responding to real-world events Human interactions Embedded system Software + Computers

More information

An Information Model for High-Integrity Real Time Systems

An Information Model for High-Integrity Real Time Systems An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,

More information

UNIT-IV BASIC BEHAVIORAL MODELING-I

UNIT-IV BASIC BEHAVIORAL MODELING-I UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction

More information

PROCESSES AND THREADS

PROCESSES AND THREADS PROCESSES AND THREADS A process is a heavyweight flow that can execute concurrently with other processes. A thread is a lightweight flow that can execute concurrently with other threads within the same

More information

Software Architecture

Software Architecture Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning

More information

iserver Free Archimate ArchiMate 1.0 Template Stencil: Getting from Started Orbus Guide Software Thanks for Downloading the Free ArchiMate Template! Orbus Software have created a set of Visio ArchiMate

More information

Architectural Decomposition Reid Holmes

Architectural Decomposition Reid Holmes Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture - Steve Easterbrook Architectural Decomposition

More information

Business Process Modelling

Business Process Modelling CS565 - Business Process & Workflow Management Systems Business Process Modelling CS 565 - Lecture 2 20/2/17 1 Business Process Lifecycle Enactment: Operation Monitoring Maintenance Evaluation: Process

More information

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

challenges in domain-specific modeling raphaël mannadiar august 27, 2009 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing

More information

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

Service-Oriented Architecture

Service-Oriented Architecture Service-Oriented Architecture The Service Oriented Society Imagine if we had to do everything we need to get done by ourselves? From Craftsmen to Service Providers Our society has become what it is today

More information

Simulative Evaluation of Internet Protocol Functions

Simulative Evaluation of Internet Protocol Functions Simulative Evaluation of Internet Protocol Functions Introduction Course Objectives & Introduction Performance Evaluation & Simulation A Manual Simulation Example Resources http://www.tu-ilmenau.de/fakia/simpro.html

More information

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards What to Architect? How to Architect? IEEE Goals and Objectives Chartered by IEEE Software Engineering Standards Committee to: Define

More information

Summary of the course lectures

Summary of the course lectures Summary of the course lectures 1 Components and Interfaces Components: Compile-time: Packages, Classes, Methods, Run-time: Objects, Invocations, Interfaces: What the client needs to know: Syntactic and

More information

Avancier Methods (AM) CONCEPTS

Avancier Methods (AM) CONCEPTS Methods (AM) CONCEPTS Mapping generic ArchiMate entities to and TOGAF meta model entities It is illegal to copy, share or show this document (or other document published at ) without the written permission

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading: CompSci 280 S2 2107 Introduction to Software Development Today s Agenda Topics: Introduction Activity Diagram Object interaction Sequence Diagram Reading: Booch G.,The Unified Modeling Language User Guide,

More information

Where are we going? EEC 521: Software Engineering. A Note on Quality. What is Design? Introduction to Design. Our focus

Where are we going? EEC 521: Software Engineering. A Note on Quality. What is Design? Introduction to Design. Our focus Where are we going? Many levels of design: EEC 521: Software Engineering Introduction to Our focus Method Class/Component Subsystem GUI Data Format Architectural 10/6/09 EEC 521: Software Engineering 1

More information

Patterns Of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler)) PDF

Patterns Of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler)) PDF Patterns Of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler)) PDF The practice of enterprise application development has benefited from the emergence of many new enabling technologies.

More information

Introduction to Software Engineering. 6. Modeling Behaviour

Introduction to Software Engineering. 6. Modeling Behaviour Introduction to Software Engineering 6. Modeling Behaviour Roadmap > Use Case Diagrams > Sequence Diagrams > Collaboration (Communication) Diagrams > Activity Diagrams > Statechart Diagrams Nested statecharts

More information

Pieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. September 9, 2016

Pieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. September 9, 2016 Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek September 9, 2016 Contents /FHTenL September 9, 2016 2/35 UML State Uses and application In behaviour is modeled with state charts (diagrams)

More information

ArchiMate symbols for relating system elements

ArchiMate symbols for relating system elements ArchiMate symbols for relating system elements Including diagrams and definitions edited from the ArchiMate 2.1 standard. Copyright The Open Group, All Rights Reserved. ArchiMate is a registered trademark

More information

2nd Belgian-Dutch workshop on Software Evolution

2nd Belgian-Dutch workshop on Software Evolution 2nd Belgian-Dutch workshop on Software Evolution BENEVOL 2004 8-9 July 2004 University of Antwerp Belgium Problem statement More and better tool support needed for software evolution traceability management

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

Lecturer: Sebastian Coope Ashton Building, Room G.18   COMP 201 web-page: Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 17 Concepts of Object Oriented Design Object-Oriented

More information

Alignment of Business and IT - ArchiMate. Dr. Barbara Re

Alignment of Business and IT - ArchiMate. Dr. Barbara Re Alignment of Business and IT - ArchiMate Dr. Barbara Re What is ArchiMate? ArchiMate is a modelling technique ("language") for describing enterprise architectures. It presents a clear set of concepts within

More information

Towards collaborative Blender design through annotation sharing

Towards collaborative Blender design through annotation sharing Towards collaborative Blender design through annotation sharing Thierry Jacquin, Jean-Pierre Chanod Document Structure Xerox Research Centre Europe Presentation Overview Introduction Creative intent in

More information

Software architecture: Introduction

Software architecture: Introduction 2IW80 Software specification and architecture Software architecture: Introduction Alexander Serebrenik This week sources Slides by Johan Lukkien and Rudolf Mak Software architecture Software architecture

More information

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Chapter 1: Solving Integration Problems Using Patterns 2 Introduction The Need for Integration Integration Challenges

More information

Where are we going? EEC 421/521: Software Engineering. What is Design? A Note on Quality. Introduction to Design. Many levels of design: Our focus

Where are we going? EEC 421/521: Software Engineering. What is Design? A Note on Quality. Introduction to Design. Many levels of design: Our focus Where are we going? Many levels of design: EEC 421/521: Software Engineering Introduction to Our focus Method Class/Component Subsystem GUI Data Format Architectural 2/28/08 EEC 421/521: Software Engineering

More information

Chapter 8: Enhanced ER Model

Chapter 8: Enhanced ER Model Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION

More information

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD Jehad Al Dallal Department of Information Science, Kuwait University, Kuwait ABSTRACT Synthesizing specifications for real time applications that

More information

Lecture Outline. COOL operational semantics. Operational Semantics of Cool. Motivation. Lecture 13. Notation. The rules. Evaluation Rules So Far

Lecture Outline. COOL operational semantics. Operational Semantics of Cool. Motivation. Lecture 13. Notation. The rules. Evaluation Rules So Far Lecture Outline Operational Semantics of Cool Lecture 13 COOL operational semantics Motivation Notation The rules Prof. Aiken CS 143 Lecture 13 1 Prof. Aiken CS 143 Lecture 13 2 Motivation We must specify

More information

Inheritance (Chapter 7)

Inheritance (Chapter 7) Inheritance (Chapter 7) Prof. Dr. Wolfgang Pree Department of Computer Science University of Salzburg cs.uni-salzburg.at Inheritance the soup of the day?! Inheritance combines three aspects: inheritance

More information

Operational Semantics of Cool

Operational Semantics of Cool Operational Semantics of Cool Key Concepts semantics: the meaning of a program, what does program do? how the code is executed? operational semantics: high level code generation steps of calculating values

More information

Software Engineering from a

Software Engineering from a Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning

More information

Load Balancing 101: Nuts and Bolts

Load Balancing 101: Nuts and Bolts Load Balancing 101: Nuts and Bolts Load balancing technology is the basis on which today s Application Delivery Controllers operate. But the pervasiveness of load balancing technology does not mean it

More information

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University

More information

Introduction to Parallel Programming

Introduction to Parallel Programming Introduction to Parallel Programming David Lifka lifka@cac.cornell.edu May 23, 2011 5/23/2011 www.cac.cornell.edu 1 y What is Parallel Programming? Using more than one processor or computer to complete

More information

0.1 Upper ontologies and ontology matching

0.1 Upper ontologies and ontology matching 0.1 Upper ontologies and ontology matching 0.1.1 Upper ontologies Basics What are upper ontologies? 0.1 Upper ontologies and ontology matching Upper ontologies (sometimes also called top-level or foundational

More information

Intro to Modelling and UML

Intro to Modelling and UML CSCD01 Engineering Large Software Systems Intro to Modelling and UML Joe Bettridge Winter 2018 With thanks to Anya Tafliovich and Steve Easterbrook Getting Started So, you ve just started working on a

More information

Domain Driven Design IS. An architectural methodology for evolving a software system that closely aligns to business requirements

Domain Driven Design IS. An architectural methodology for evolving a software system that closely aligns to business requirements Domain Driven Design IS An architectural methodology for evolving a software system that closely aligns to business requirements Domain Driven Design IS Domain First Focus on the Object Model Focus on

More information

Architectural Decomposition Mei Nagappan

Architectural Decomposition Mei Nagappan Material and some slide content from: - Emerson Murphy-Hill, Reid Holmes - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture - Steve Easterbrook Architectural Decomposition

More information

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

COSC 3351 Software Design. An Introduction to UML (I) COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt

More information

UML part I. UML part I 1/41

UML part I. UML part I 1/41 UML part I UML part I 1/41 UML part I 2/41 UML - Unified Modeling Language unified it can be shared among workers modeling it can be used for description of software model language it has defined structure

More information

6.001 Notes: Section 17.5

6.001 Notes: Section 17.5 6.001 Notes: Section 17.5 Slide 17.5.1 Now, let's look at one example in which changing the evaluation model allows us to explore a very different kind of computational problem. Our goal is to show how

More information

Beyond Mere Logic: A Vision of Computer Languages for the 21 st Century - A discourse on software physics -

Beyond Mere Logic: A Vision of Computer Languages for the 21 st Century - A discourse on software physics - Beyond Mere Logic: A Vision of Computer Languages for the 21 st Century - A discourse on software physics - Bran Selić Malina Software Corp. CANADA Simula Research Laboratory, NORWAY Zeligsoft Limited

More information

Towards a formal model of object-oriented hyperslices

Towards a formal model of object-oriented hyperslices Towards a formal model of object-oriented hyperslices Torsten Nelson, Donald Cowan, Paulo Alencar Computer Systems Group, University of Waterloo {torsten,dcowan,alencar}@csg.uwaterloo.ca Abstract This

More information

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Examples. Object Orientated Analysis and Design. Benjamin Kenwright Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision

More information

Practice What You Preach Full Separation of Concerns in CS 1 /CS 2

Practice What You Preach Full Separation of Concerns in CS 1 /CS 2 Practice What You Preach Full Separation of Concerns in CS 1 /CS 2 Hamzeh Roumani Department of Comp Science & Engineering York University, Toronto, Canada CONTEXT SIGCSE, its conferences and activities,

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

Module 10 MULTIMEDIA SYNCHRONIZATION

Module 10 MULTIMEDIA SYNCHRONIZATION Module 10 MULTIMEDIA SYNCHRONIZATION Lesson 33 Basic definitions and requirements Instructional objectives At the end of this lesson, the students should be able to: 1. Define synchronization between media

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

rethinking the role of design in software development Daniel Jackson Computer Science & Artificial Intelligence Lab MIT

rethinking the role of design in software development Daniel Jackson Computer Science & Artificial Intelligence Lab MIT rethinking the role of design in software development Daniel Jackson Computer Science & Artificial Intelligence Lab MIT traditional engineers use models of different sorts three central software models

More information

Intro to: Design Principles

Intro to: Design Principles Intro to: Design Principles Pragmatic Programmer: Eliminate Effects Between Unrelated Things design components that are: self-contained, independent, and have a single, well-defined purpose Software Design

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

Interaction Testing! Chapter 15!!

Interaction Testing! Chapter 15!! Interaction Testing Chapter 15 Interaction faults and failures Subtle Difficult to detect with testing Usually seen after systems have been delivered In low probability threads Occur after a long time

More information

JiST Java in Simulation Time An efficient, unifying approach to simulation using virtual machines

JiST Java in Simulation Time An efficient, unifying approach to simulation using virtual machines JiST Java in Simulation Time An efficient, unifying approach to simulation using virtual machines Rimon Barr, Zygmunt Haas, Robbert van Renesse rimon@acm.org haas@ece.cornell.edu rvr@cs.cornell.edu. Cornell

More information

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL INTERNATIONAL DESIGN CONFERENCE - DESIGN 2000 Dubrovnik, May 23-26, 2000. ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL N. Pavković, D. Marjanović Keywords: object oriented methodology, design process

More information

MASERGY S MANAGED SD-WAN

MASERGY S MANAGED SD-WAN MASERGY S MANAGED New Performance Options for Hybrid Networks Business Challenges WAN Ecosystem Features and Benefits Use Cases INTRODUCTION Organizations are leveraging technology to transform the way

More information

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

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

CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: Models in Software Development: Methods, Techniques and Tools CISC836: Models in Software Development: Methods, Techniques and Tools Topic 3: Expressing Software Models Expressing SW models: Overview 1. Examples of software modeling languages 1. UML (for modeling

More information

Activity Nets: A UML profile for modeling workflow and business processes

Activity Nets: A UML profile for modeling workflow and business processes Activity Nets: A UML profile for modeling workflow and business processes Author: Gregor v. Bochmann, SITE, University of Ottawa (August 27, 2000) 1. Introduction 1.1. Purpose of this document Workflow

More information

Multiprocessor and Real-Time Scheduling. Chapter 10

Multiprocessor and Real-Time Scheduling. Chapter 10 Multiprocessor and Real-Time Scheduling Chapter 10 1 Roadmap Multiprocessor Scheduling Real-Time Scheduling Linux Scheduling Unix SVR4 Scheduling Windows Scheduling Classifications of Multiprocessor Systems

More information

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

CS 307: Software Engineering. Lecture 10: Software Design and Architecture CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office

More information

BUSTED! 5 COMMON MYTHS OF MODERN INFRASTRUCTURE. These Common Misconceptions Could Be Holding You Back

BUSTED! 5 COMMON MYTHS OF MODERN INFRASTRUCTURE. These Common Misconceptions Could Be Holding You Back BUSTED! 5 COMMON MYTHS OF MODERN INFRASTRUCTURE These Common Misconceptions Could Be Holding You Back 2 IT Is Facing a New Set of Challenges As technology continues to evolve, IT must adjust to changing

More information

Considerations for Versioning SOA Resources

Considerations for Versioning SOA Resources Considerations for Versioning SOA Resources Kenneth Laskey # The MITRE Corporation klaskey@mitre.org Abstract. Service oriented architecture is a paradigm for bringing together needs and capabilities,

More information

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45 MTAT.03.094 Software Engineering Written Exam 17 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail

More information

Efficient Meshing in Sonnet

Efficient Meshing in Sonnet Efficient Meshing in Sonnet Purpose of this document: In this document, we will discuss efficient meshing in Sonnet, based on a wide variety of application examples. It will be shown how manual changes

More information

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

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services. 1. (24 points) Identify all of the following statements that are true about the basics of services. A. If you know that two parties implement SOAP, then you can safely conclude they will interoperate at

More information

Chapter 5. Systems Analysis. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Chapter 5. Systems Analysis. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 5 Systems Analysis McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives Define systems analysis and relate it to the scope definition, problem analysis,

More information

WHITE PAPER DATA DICATIONARY DEFINING AND USING A COMMON LANGUAGE

WHITE PAPER DATA DICATIONARY DEFINING AND USING A COMMON LANGUAGE DATA DICATIONARY DEFINING AND USING A COMMON LANGUAGE TABLE OF CONTENTS INTRODUCTION 3 DEFINED 3 NEED FOR 3 USES OF 3 ANATOMY OF 4 BENEFITS OF USING 4 2 P a g e INTRODUCTION The success of any business

More information

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology ArchiMate Core Structural Concepts Behavioral Concepts Informational Concepts interaction Technology Application Layer Concept Description Notation Concept Description Notation Actor An organizational

More information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

Why and Where do we need Executable modeling?

Why and Where do we need Executable modeling? Why and Where do we need Executable modeling? Presented by Francis Bordeleau francis.bordeleau@ericsson.com EXE 2015 Workshop, Ottawa (Canada) Sept. 27 th, 2015 Page 2 Outline context Personal background

More information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D. Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice

More information

Models, Tools and Transformations for Design and Evaluation of Interactive Applications

Models, Tools and Transformations for Design and Evaluation of Interactive Applications Models, Tools and Transformations for Design and Evaluation of Interactive Applications Fabio Paternò, Laila Paganelli, Carmen Santoro CNUCE-C.N.R. Via G.Moruzzi, 1 Pisa, Italy fabio.paterno@cnuce.cnr.it

More information

Nick Rozanski Andy Longshaw Eoin Woods. Sold! How to Describe, Explain and Justify your Architecture

Nick Rozanski Andy Longshaw Eoin Woods. Sold! How to Describe, Explain and Justify your Architecture Nick Rozanski Andy Longshaw Eoin Woods Sold! How to Describe, Explain and Justify your Architecture Objectives of Today If you are an architect who has to produce an Architectural Description, then this

More information

Interaction Testing. Chapter 15

Interaction Testing. Chapter 15 Interaction Testing Chapter 15 Interaction faults and failures Subtle Difficult to detect with testing Usually seen after systems have been delivered In low probability threads Occur after a long time

More information

Systems Architecture. Monolithic Systems

Systems Architecture. Monolithic Systems Systems Architecture Monolithic Systems 13 - Monolithic CSC407 1 no architecture Monolithic Systems reports static data imported data dynamic data 13 - Monolithic CSC407 2 1 Examples Most programs you

More information

Class Diagrams in Analysis

Class Diagrams in Analysis 3.2 Subject/Topic/Focus: Introduction to Classes Summary: Conceptual Modeling Notation: Classes Associations: Multiplicity, Roles, Aggregation, Composition Generalization Objects Analysis Process Literature:

More information

Intelligent Performance Software Testing

Intelligent Performance Software Testing White Paper Intelligent Performance Software Testing The field of software functional testing is undergoing a major transformation. What used to be an onerous manual process took a big step forward with

More information

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative

More information