Modelling the CoCoME with the Java/A Component Model

Size: px
Start display at page:

Download "Modelling the CoCoME with the Java/A Component Model"

Transcription

1 Modelling the CoCoME with the Java/A Component Model Rolf Hennicker, Alexander Knapp Ludwig-Maximilians-Universität München August 2007

2 The Java/A Team Ludwig-Maximilians-Universität München UML modelling, qualitative analysis Florian Hacklinger Rolf Hennicker Stephan Janisch Alexander Knapp Martin Wirsing University of Edinburgh quantitative analysis Allan Clark Stephen Gilmore Danmarks Tekniske Universitet, Lyngby UML modelling, qualitative analysis Hubert Baumeister R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 2/43

3 Overview Java/A component model Modelling the CoCoME Analysis of our model for the CoCoME Tools Open issues R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 3/43

4 The Java/A Component Model (1) Interface provided 0..1 required 0..1 Port operations * properties * behavior 1 * operations Operation Property Behavior Feature Operation operations * Simple Component properties * Property Behavior behavior 1 * ports {subsets properties} Port Property type 1 Port R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 4/43

5 Simple Components: Example R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 5/43

6 The Java/A Component Model (2) Component type 1 Simple Component Composite components Component * Component Property relayports * Port Property 2 ports Property connectors * Connector Property 1 type Connector ports 2 Port R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 6/43

7 Composite Components: Example R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 7/43

8 Modelling the CoCoME Procedure (1) 1. Primary scenarios from CoCoME description static structure of simple components port and component behaviour analysis of behaviour (embedded system part) integration of simple components into composite components 2. Alternative and exceptional scenarios from CoCoME description 3. Iteration R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 8/43

9 Modelling the CoCoME Procedure (2) Deriving state machines from interactions sd Process sale : CashBox salestarted : CashDeskApplication : Coordinator salefinished alt paymentmode(cash) cashamountentered changeamountcalculated cashboxclosed ref payment mode card saleregistered opt expressmodeenabled R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 9/43

10 Modelling the CoCoME Procedure (3) R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 10/43

11 Modelling the CoCoME Overview CashDeskLine Store::CashDeskLine CashDesk CashDesk CardReaderController CardReader CashBoxController CashBox CashDeskApplication CashDeskApplication CashDeskGUI CashDeskGUI LightDisplayController LightDisplay PrinterController Printer ScannerController Scanner Coordinator Coordinator EventBus Not modelled Inventory Not explicitly; distinguished Enterprise/Store Application Ditto due to distinct Enterprise/Store Reporting Enterprise::Reporting Store Store::Inventory Data Data Enterprise Data instantiated in Enterprise Store Data instantiated in Store Persistence integrated in ports of Data GUI modelled as operator ports Reporting ports of Enterprise::Reporting Store ports of Store::Inventory DataBase DataBase R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 11/43

12 TradingSystem Static Structure R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 12/43

13 Store Static Structure R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 13/43

14 CashDeskLine Static Structure R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 14/43

15 Coordinator Static Structure R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 15/43

16 Coordinator Port Behaviour R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 16/43

17 Coordinator Component Behaviour R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 17/43

18 CashDesk Static Structure R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 18/43

19 Functional Analysis Interested in: Behaviour of ports and components (simple and composite) Basis: Given behaviour specifications of ports and simple components Properties to be checked: Deadlock-freeness of port and component behaviours Correctness of components w.r.t. their ports Focus of our analysis: Embedded system part Analysis process: Starts with the analysis of simple components and their ports Derives results for composite components R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 19/43

20 Composite Component CashDeskLine (revisited) R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 20/43

21 Behaviour Specifications and their Formalisation State machines I/O-transition systems with input, output, internal labels + τ-action R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 21/43

22 I/O-transition System for Component Coordinator Notation: beh(coordinator) R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 22/43

23 Behaviour of Port Coordinator CashDesk R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 23/43

24 Analysis of Simple Components Steps: Check the deadlock-freeness of ports and simple components Check the compliance of component and port behaviours Definition (Component correctness) Observable behaviour of a component C at port p : P obs p (beh(c)) beh(p) Example: obs cd (beh(coordinator)) beh(c-cd) R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 24/43

25 Analysis of Composite Components Assume given: Correct and deadlock-free subcomponents Analysis steps: Examine (pairwise) the interaction behaviour of connected ports Check the deadlock-freeness of the composite component Check the correctness of the composite component w.r.t. its ports R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 25/43

26 Interaction Behaviour of Connected Ports Example: Interaction behaviour of the Coordinator and CashDesk ports beh(cda-c) beh(c-cd) R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 26/43

27 Port product beh(cda-c) beh(c-cd) Definition (Behavioural compatibility of ports) beh(p) beh(q) is deadlock-free. R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 27/43

28 Important Observation «component» CC a : A b : B c : C Behavioural compatibility of the connected ports + deadlock-freeness of all subcomponents deadlock-freeness of the composite component R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 28/43

29 Reflection of Port Behaviour Definition (Reflection of port behaviour) The interaction behaviour of P and Q reflects the behaviour of P, if beh(p) beh(p) beh(q) Example: The interaction behaviour of the CashDesk and the Coordinator ports reflects the behaviour of the CashDesk port beh(cda-c) beh(cda-c) beh(c-cd) R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 29/43

30 Deadlock-freeness of Composite Components Assume: Deadlock-freeness and correctness of all subcomponents Behavioural compatibility of all connected ports Behaviour reflection for n 1 connected ports Then the composite component CC is deadlock-free. R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 30/43

31 Deadlock-freeness of the CashDesk Component All subcomponents are deadlock-free and correct All connected ports are behaviourally compatible Only the connection between the CashDeskApplication and the CashBox is not behaviour reflecting Hence the CashDesk component is deadlock free. R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 31/43

32 Deadlock-freeness of the CashDeskLine The subcomponents Coordinator and CashDesk are deadlock-free and correct The connected ports are behaviourally compatible (and even behaviour reflecting) Hence the CashDeskLine component is deadlock free. R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 32/43

33 Implementation Model with Event Bus (1) Claim If the event bus works in FIFO manner, communication order is preserved. Deadlock-freeness is preserved. R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 33/43

34 Implementation Model with Event Bus (2) R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 34/43

35 Non-Functional Analysis Assessment of Service-Level Agreements currently to be done manually (PEPA) only exemplified for express checkout Assessment of advantage of using express checkout customers with eight items or fewer may also use normal checkout Probability Differences between the express checkout and a normal checkout 0.08 express checkout normal checkout Probability Differences between the express checkout and a normal checkout 0.6 express checkout normal checkout Time Time R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 35/43

36 Tools MagicDraw UML modelling Labelled Transition System Analyser (LTSA) based on process algebra FSP used for analysis of deadlock and observational equivalence Hugo/RT UML model translator for model checking (SPIN, UPPAAL), theorem proving (KIV), and code generation (Java, SystemC) used for code generation for Java/A Imperial PEPA Compiler (IPC) based on Performance Evaluation Process Algebra (PEPA) used for quantitative analysis with Continuous-Time Markov Chains R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 36/43

37 Java/A: Architectural Programming Architectural programming language integration of architectural notions into Java avoiding architectural erosion in implementation composite component SimplifiedStore { assembly { components { Inventory, CashDesk } connectors { Inventory.Sale, CashDesk.CDAI; } } constructor SimplifiedStore() { initial configuration { active component Inventory inv = new Inventory(); active component CashDesk cd = new CashDesk(); connector Connector con = new Connector(); con.connect(inv.sale, cd.cdai); } } } R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 38/43

38 Java/A: Components and Ports simple component CashDeskApplication { int itemcounter = 0;... port CDACB { provided { async salestarted(); async productbarcodeentered(int barcode); async salefinished(); async paymentmodecash();... } required { async changeamountcalculated(double amount); async salesuccess(); } protocol <! behaviour { states { initial init; simple a; simple b; simple e;... simple h; } transitions { init -> a; a -> b { trigger salestarted; } b -> b { trigger productbarcodeentered; }... e -> h { effect out.salesuccess(); } h -> b { trigger salestarted; } } }!> }... R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 40/43

39 Java/A: Interface Implementation } void salestarted() implements CDACB.saleStarted() { Event event = Event.signal("send salestarted", new Object[]{}); this.eventqueue.insert(event); }... void processsalestarted() { try { CDAP.saleStarted(); CDACDG.saleStarted(); } catch (ConnectionException e) { e.printstacktrace(); } }... R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 42/43

40 Open Issues Extension of functional analysis integration of pre- and post-conditions for synchronous operations n-ary connectors Integration of non-functional analysis annotation of state machines and sequence diagrams by performance properties Runtime reconfiguration e.g., opening and closing cash desks Deployment view R. Hennicker, A. Knapp: Modelling the CoCoME with the Java/A Component Model 43/43

1 Modelling the CoCoME with the JAVA/A Component Model

1 Modelling the CoCoME with the JAVA/A Component Model 1 Modelling the CoCoME with the JAVA/A Component Model Alexander Knapp 1, Stephan Janisch 1, Rolf Hennicker 1, Allan Clark 2, Stephen Gilmore 2, Florian Hacklinger 1, Hubert Baumeister 3, and Martin Wirsing

More information

Linking Programs to Architectures: An Object-Oriented Hierarchical Software Model based on Boxes

Linking Programs to Architectures: An Object-Oriented Hierarchical Software Model based on Boxes PREPRINT To appear in: The Common Component Modeling Example: Comparing Software Component Models, LNCS, 2007, Springer Linking Programs to Architectures: An Object-Oriented Hierarchical Software Model

More information

A Specification Language for Distributed Components

A Specification Language for Distributed Components A Specification Language for Distributed Components Antonio Cansado Denis Caromel Ludovic Henrio Eric Madelaine Marcela Rivera Emil Salageanu 1 OASIS Team INRIA Sophia Antipolis, France Parallel, Distributed

More information

Java/A Taking Components into Java

Java/A Taking Components into Java Java/A Taking Components into Java Florian Hacklinger Institut für Informatik Ludwig-Maximilians-Universität München Oettingenstraße 67, 80538 München, Germany florian.hacklinger@pst.ifi.lmu.de Abstract

More information

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Modeling, Testing and Executing Reo Connectors with the

More information

Object Orientated Analysis and Design. Benjamin Kenwright

Object Orientated Analysis and Design. Benjamin Kenwright Notation Part 2 Object Orientated Analysis and Design Benjamin Kenwright Outline Review What do we mean by Notation and UML? Types of UML View Continue UML Diagram Types Conclusion and Discussion Summary

More information

A New Generation PEPA Workbench

A New Generation PEPA Workbench A New Generation PEPA Workbench Mirco Tribastone Stephen Gilmore Abstract We present recent developments on the implementation of a new PEPA Workbench, a cross-platform application for editing, analysing,

More information

The Ipc Manual. Allan Clark October 10, 2007

The Ipc Manual. Allan Clark October 10, 2007 The Ipc Manual Allan Clark October 10, 2007 1 Introduction PEPA[1] is a poplular stochastic process algebra. About this document... This document is a manual for users of the Imperial Pepa Compiler or

More information

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product.

Oracle EXAM - 1Z Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam. Buy Full Product. Oracle EXAM - 1Z0-895 Java EE 6 Enterprise JavaBeans Developer Certified Expert Exam Buy Full Product http://www.examskey.com/1z0-895.html Examskey Oracle 1Z0-895 exam demo product is here for you to test

More information

CUIML: A Language For the Generation of Multimodal Human-Computer Interfaces

CUIML: A Language For the Generation of Multimodal Human-Computer Interfaces CUIML: A Language For the Generation of Multimodal Human-Computer Interfaces Christian Sandor sandor@cs.tum.edu Technische Universität München Chair for Applied Software Engineering Abstract DWARF Project

More information

The Method for Verifying Software Architecture with FSP Model

The Method for Verifying Software Architecture with FSP Model The Method for Verifying Software Architecture with FSP Model Kim, Jungho SKC&C Inc., SK u-tower 25-1, Jeongja-dong, Bundang-gu, Seongnam-si, Gyeonggi-do 463-844, Korea kimjh@skcc.com Abstract C&C view

More information

Part 1.3 Modal I/O Transition Systems as Semantics of UML4SOA

Part 1.3 Modal I/O Transition Systems as Semantics of UML4SOA IMT 2013 Lucca, Italy September 2013 Part 1.3 Modal I/O Transition Systems as Semantics of UML4SOA Martin Wirsing LMU München in co-operation with Sebastian Bauer, Rolf Hennicker, Philip Mayer M. Wirsing

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V & V To

More information

Core Java - SCJP. Q2Technologies, Rajajinagar. Course content

Core Java - SCJP. Q2Technologies, Rajajinagar. Course content Core Java - SCJP Course content NOTE: For exam objectives refer to the SCJP 1.6 objectives. 1. Declarations and Access Control Java Refresher Identifiers & JavaBeans Legal Identifiers. Sun's Java Code

More information

FEATURE ORIENTED-PROGRAMMING: BACK TO THE FUTURE

FEATURE ORIENTED-PROGRAMMING: BACK TO THE FUTURE FEATURE ORIENTED-PROGRAMMING: BACK TO THE FUTURE Christian Prehofer Fraunhofer ESK, Munich, Germany, christian.prehofer@esk.fraunhofer.de Ludwig-Maximilians-Universität München Programming and Software

More information

Concurrency. State Models and Java Programs. Jeff Magee and Jeff Kramer. Concurrency: introduction 1. Magee/Kramer

Concurrency. State Models and Java Programs. Jeff Magee and Jeff Kramer. Concurrency: introduction 1. Magee/Kramer Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer Concurrency: introduction 1 What is a Concurrent Program? A sequential program has a single thread of control. A concurrent program

More information

State Machine Specification Directly in Java and C++ Alexander Sakharov

State Machine Specification Directly in Java and C++ Alexander Sakharov State Machine Specification Directly in Java and C++ Alexander Sakharov 1 Problem Statement Finite state machines (FSM) have become a standard model for representing object behavior. UML incorporates FSM

More information

Enterprise Architect Training Courses

Enterprise Architect Training Courses On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object

More information

Combined Modeling and Programming with State Machines

Combined Modeling and Programming with State Machines Combined Modeling and Programming with State Machines Kjetil Andresen Master s Thesis Spring 2014 Combined Modeling and Programming with State Machines Kjetil Andresen 1st May 2014 ii Abstract As part

More information

From message queue to ready queue

From message queue to ready queue ERCIM Workshop on Dependable Software Intensive Embedded systems In cooperation with EUROMICRO 2005 Porto, Portrugal From message queue to ready queue Case study of a small, dependable synchronous blocking

More information

A Modelling and Analysis Environment for LARES

A Modelling and Analysis Environment for LARES A Modelling and Analysis Environment for LARES Alexander Gouberman, Martin Riedl, Johann Schuster, and Markus Siegle Institut für Technische Informatik, Universität der Bundeswehr München, {firstname.lastname@unibw.de

More information

UML-BASED WEB ENGINEERING An Approach Based on Standards

UML-BASED WEB ENGINEERING An Approach Based on Standards Chapter 7 UML-BASED WEB ENGINEERING An Approach Based on Standards Nora Koch, 1,2 Alexander Knapp, 1 Gefei Zhang, 1 Hubert Baumeister 3 1 Institut für Informatik, Ludwig-Maximilians-Universität München,

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 7 Hubert Baumeister hub@imm.dtu.dk DTU Compute Technical University of Denmark Spring 2016 Contents Components (part III) Sequence Diagrams Design Validation: Use Case Realization

More information

Software Engineering of Robots

Software Engineering of Robots Software Engineering of Robots Ana Cavalcanti Jon Timmis, Jim Woodcock Wei Li, Alvaro Miyazawa, Pedro Ribeiro University of York December 2015 Overview One of UK eight great technologies: robotics and

More information

12 The PEPA Plug-in for Eclipse

12 The PEPA Plug-in for Eclipse 12 The PEPA Plug-in for Eclipse In this lecture note we introduce the tool support which is available when modelling with PEPA. Undertaking modelling studies of any reasonable size is only possible if

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

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

CSCU9T4: Managing Information

CSCU9T4: Managing Information CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)

More information

Semantics Preservation of Sequence

Semantics Preservation of Sequence Semantics Preservation of Sequence Diagram Aspects Jon Oldevik, Øystein Haugen Department of Informatics, University of Oslo, Norway SINTEF Information and Communication Technology, Norway jonold at ifi.uio.no

More information

6. Hoare Logic and Weakest Preconditions

6. Hoare Logic and Weakest Preconditions 6. Hoare Logic and Weakest Preconditions Program Verification ETH Zurich, Spring Semester 07 Alexander J. Summers 30 Program Correctness There are many notions of correctness properties for a given program

More information

1 Executive Overview The Benefits and Objectives of BPDM

1 Executive Overview The Benefits and Objectives of BPDM 1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will

More information

SEEM4570 System Design and Implementation Lecture 11 UML

SEEM4570 System Design and Implementation Lecture 11 UML SEEM4570 System Design and Implementation Lecture 11 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,

More information

Sequence Diagram. A UML diagram used to show how objects interact. Example:

Sequence Diagram. A UML diagram used to show how objects interact. Example: Sequence Diagram A UML diagram used to show how objects interact. Example: r: Register s: Sale makepayment() makepayment() new() : Payment The above starts with a Register object, r, receiving a makepayment

More information

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05 COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05 Unit 1 : LINEAR DATA STRUCTURES Introduction - Abstract Data Types (ADT), Arrays and its representation Structures, Stack, Queue, Circular

More information

Recovering Traceability Links between Code and Textual Specification through Automated Domain Model Extraction

Recovering Traceability Links between Code and Textual Specification through Automated Domain Model Extraction Recovering Traceability Links between Code and Textual Specification through Automated Domain Model Extraction Jiří Vinárek 1, Petr Hnětynka 1, Viliam Šimko2, and Petr Kroha 1 1 Charles University in Prague,

More information

A Type System for Object Initialization In the Java TM Bytecode Language

A Type System for Object Initialization In the Java TM Bytecode Language Electronic Notes in Theoretical Computer Science 10 (1998) URL: http://www.elsevier.nl/locate/entcs/volume10.html 7 pages A Type System for Object Initialization In the Java TM Bytecode Language Stephen

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

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views 1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties

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

SEEM4570 System Design and Implementation. Lecture 10 UML

SEEM4570 System Design and Implementation. Lecture 10 UML SEEM4570 System Design and Implementation Lecture 10 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,

More information

Modeling Web Business Processes with OO-H and UWE

Modeling Web Business Processes with OO-H and UWE Object-Oriented Hypermedia Method UML-BASED WEB ENGINEERING Modeling Web Business Processes with OO-H and UWE Nora Koch Andreas Kraus Cristina Cachero Santiago Meliá Ludwig-Maximilians-Universität München,

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

Axiomatic Specification. Al-Said, Apcar, Jerejian

Axiomatic Specification. Al-Said, Apcar, Jerejian Axiomatic Specification Al-Said, Apcar, Jerejian 1 Axioms: Wffs that can be written down without any reference to any other Wffs. Wffs that are stipulated as unproved premises for the proof of other wffs

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

Exam Questions 1Z0-895

Exam Questions 1Z0-895 Exam Questions 1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam https://www.2passeasy.com/dumps/1z0-895/ QUESTION NO: 1 A developer needs to deliver a large-scale

More information

Introduction to Unified Modelling Language (UML)

Introduction to Unified Modelling Language (UML) IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Introduction to Unified

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Modeling Dynamic Behavior

Modeling Dynamic Behavior Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering Modeling Dynamic Behavior The following slides use material from: Craig Larman;

More information

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions European Component Oriented Architecture (ECOA ) Collaboration Programme: Part 2: Definitions BAE Ref No: IAWG-ECOA-TR-012 Dassault Ref No: DGT 144487-D Issue: 4 Prepared by BAE Systems (Operations) Limited

More information

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2013-10-23 02 2013-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2013-10-28 03 2013-10-28 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

UML for Global Computing Lecture 3: Property-Driven Development

UML for Global Computing Lecture 3: Property-Driven Development Contents UML for Global Comuting Lecture 3: Proerty-Driven Develoment Martin Wirsing LMU München in cooeration with Hubert Baumeister Lecture : Introducing UML for Mobility Lecture 2: Refining Mobility

More information

10 Modelling Multimedia Applications

10 Modelling Multimedia Applications 10 Modelling Multimedia Applications 10.1 Model-Driven Development 10.2 Multimedia Modeling Language MML Literature: M. Jeckle, C. Rupp, J. Hahn, B. Zengler, S. Queins: UML Glasklar, Hanser Wissenschaft

More information

Overview of Dataflow Languages. Waheed Ahmad

Overview of Dataflow Languages. Waheed Ahmad Overview of Dataflow Languages Waheed Ahmad w.ahmad@utwente.nl The purpose of models is not to fit the data but to sharpen the questions. Samuel Karlins 11 th R.A Fisher Memorial Lecture Royal Society

More information

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

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1 Verification and Validation Slide 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2013-10-28 03 2013-10-28 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

Verification and Validation

Verification and Validation Verification and Validation Assuring that a software system meets a user's needs Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 19 Slide 1 Objectives To introduce software verification

More information

From Types to Sets in Isabelle/HOL

From Types to Sets in Isabelle/HOL From Types to Sets in Isabelle/HOL Extented Abstract Ondřej Kunčar 1 and Andrei Popescu 1,2 1 Fakultät für Informatik, Technische Universität München, Germany 2 Institute of Mathematics Simion Stoilow

More information

Component-based Construction of Heterogeneous Real-time Systems in BIP

Component-based Construction of Heterogeneous Real-time Systems in BIP Component-based Construction of Heterogeneous Real-time Systems in BIP Joseph Sifakis VERIMAG FETCH07 Villard-de-Lans, January 2007 Joseph Sifakis FETCH07 1 Key-issues: Component-based construction Develop

More information

Java. Classes 3/3/2014. Summary: Chapters 1 to 10. Java (2)

Java. Classes 3/3/2014. Summary: Chapters 1 to 10. Java (2) Summary: Chapters 1 to 10 Sharma Chakravarthy Information Technology Laboratory (IT Lab) Computer Science and Engineering Department The University of Texas at Arlington, Arlington, TX 76019 Email: sharma@cse.uta.edu

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Fall 2016 Lecture 7a Andrew Tolmach Portland State University 1994-2016 Values and Types We divide the universe of values according to types A type is a set of values and a

More information

Reflection (in fact, Java introspection)

Reflection (in fact, Java introspection) Reflection (in fact, Java introspection) Prof. Dr. Ralf Lämmel Universität Koblenz-Landau Software Languages Team Elevator speech So programs are programs and data is data. However, programs can be represented

More information

Distributed Systems Programming (F21DS1) SPIN: Formal Analysis I

Distributed Systems Programming (F21DS1) SPIN: Formal Analysis I Distributed Systems Programming (F21DS1) SPIN: Formal Analysis I Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Introduce

More information

The PEPA Eclipse Plug-in

The PEPA Eclipse Plug-in The PEPA Eclipse Plug-in A modelling, analysis and verification platform for PEPA Adam Duguid, Stephen Gilmore, Michael Smith and Mirco Tribastone Wednesday 01 December 2010 Abstract: This user manual

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 4 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents From Requirements to Design CRC Cards Components (part Ia) Object-orientation:

More information

AADS+: AADL Simulation including the Behavioral Annex

AADS+: AADL Simulation including the Behavioral Annex AADS+: AADL Simulation including the Behavioral Annex Fifth IEEE International workshop UML and AADL 24th March 2010, Oxford, UK Roberto Varona Gómez Eugenio Villar {roberto, evillar}@teisa.unican.es University

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

Model Driven Development of Component Centric Applications

Model Driven Development of Component Centric Applications Model Driven Development of Component Centric Applications Andreas Heberle (entory AG), Rainer Neumann (PTV AG) Abstract. The development of applications has to be as efficient as possible. The Model Driven

More information

Topic : Object Oriented Design Principles

Topic : Object Oriented Design Principles Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 10/e Education, Inc. All Rights Reserved. Each class you create becomes a new type that can be used to declare variables and create objects. You can declare new classes as needed;

More information

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year COMPUTER SCIENCE.

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year COMPUTER SCIENCE. (DMCS01) Total No. of Questions : 18] [Total No. of Pages : 02 M.Sc. DEGREE EXAMINATION, DEC. 2016 First Year COMPUTER SCIENCE Data Structures Time : 3 Hours Maximum Marks : 70 Section - A (3 x 15 = 45)

More information

Model driven Engineering & Model driven Architecture

Model driven Engineering & Model driven Architecture Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software

More information

Once Upon a Polymorphic Type

Once Upon a Polymorphic Type Once Upon a Polymorphic Type Keith Wansbrough Computer Laboratory University of Cambridge kw217@cl.cam.ac.uk http://www.cl.cam.ac.uk/users/kw217/ Simon Peyton Jones Microsoft Research Cambridge 20 January,

More information

Service-Oriented Modeling of CoCoME with FOCUS and AutoFOCUS

Service-Oriented Modeling of CoCoME with FOCUS and AutoFOCUS CoCoME Seminar Dagstuhl 02.08.2007 Service-Oriented Modeling of CoCoME with FOCUS and AutoFOCUS Florian Hölzl Chair IV: Software and Systems Engineering Technische Universität München 1 Our Team Dr. Bernhard

More information

Additionally: IBM JS 20 Connected via Sunet - 10 Gbit/s (not point-to-point) Växjö University Sensor-GRIDs

Additionally: IBM JS 20 Connected via Sunet - 10 Gbit/s (not point-to-point) Växjö University Sensor-GRIDs A Grid-like Infrastructure for Sensor-Networks J. Andersson M. Ericsson M. Karlsson Welf Löwe www.lois-space.net Växjö University Project Multi-purpose radio research facility, Primarily intended for radio

More information

CS4215 Programming Language Implementation. Martin Henz

CS4215 Programming Language Implementation. Martin Henz CS4215 Programming Language Implementation Martin Henz Thursday 26 January, 2012 2 Chapter 4 The Language simpl In this chapter, we are exting the language epl in order to provide a more powerful programming

More information

Behavioural Equivalences and Abstraction Techniques. Natalia Sidorova

Behavioural Equivalences and Abstraction Techniques. Natalia Sidorova Behavioural Equivalences and Abstraction Techniques Natalia Sidorova Part 1: Behavioural Equivalences p. p. The elevator example once more How to compare this elevator model with some other? The cabin

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2012-10-30 03 2012-10-30 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

More information

CoBoxes: Distributed Heaps with Cooperative Tasks

CoBoxes: Distributed Heaps with Cooperative Tasks CoBoxes: Distributed Heaps with Cooperative Tasks Jan Schäfer Arnd Poetzsch-Heffter University of Kaiserslautern HATS WP1 Task 1.1 Meeting June 29th, 2009 http://www.hats-project.eu Jan Schäfer CoBoxes

More information

TURTLE Four Weddings and a Tutorial

TURTLE Four Weddings and a Tutorial TURTLE Four Weddings and a Tutorial L. Apvrille, P. de Saqui-Sannes ERTS 2 Toulouse, France May 20, 2010 Rationale Verification-centric modeling of real-time and distributed systems Real-time UML profile

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes

More information

Object-Oriented Development and UML. Announcement. Agenda 7/3/2008. Class will resume on July 22. Try to complete the lab assignments by July.

Object-Oriented Development and UML. Announcement. Agenda 7/3/2008. Class will resume on July 22. Try to complete the lab assignments by July. Object-Oriented Development and UML 2 4 pm Thursday 7/3/2008 @JD2211 1 Announcement Class will resume on July 22. Try to complete the lab assignments by July 21. 2 Agenda Review Object-Oriented Analysis

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 5 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents Components (part Ia) Class Diagrams Important Concepts Class Diagrams Software

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence

More information

Modeling Heterogeneous Real-time Components in BIP

Modeling Heterogeneous Real-time Components in BIP Modeling Heterogeneous Real-time Components in BIP Joseph Sifakis in collaboration with Ananda Basu and Marius Bozga VERIMAG Composition of Embedded Systems Scientific and Industrial Issues Monterey Workshop

More information

Fundamentos de programação

Fundamentos de programação Fundamentos de programação Orientação a Objeto Classes, atributos e métodos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Contents Object-Oriented Programming Implementing a Simple

More information

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the

More information

A Component Framework for HPC Applications

A Component Framework for HPC Applications A Component Framework for HPC Applications Nathalie Furmento, Anthony Mayer, Stephen McGough, Steven Newhouse, and John Darlington Parallel Software Group, Department of Computing, Imperial College of

More information

Overloading, Type Classes, and Algebraic Datatypes

Overloading, Type Classes, and Algebraic Datatypes Overloading, Type Classes, and Algebraic Datatypes Delivered by Michael Pellauer Arvind Computer Science and Artificial Intelligence Laboratory M.I.T. September 28, 2006 September 28, 2006 http://www.csg.csail.mit.edu/6.827

More information

White Paper. Major Performance Tuning Considerations for Weblogic Server

White Paper. Major Performance Tuning Considerations for Weblogic Server White Paper Major Performance Tuning Considerations for Weblogic Server Table of Contents Introduction and Background Information... 2 Understanding the Performance Objectives... 3 Measuring your Performance

More information

Automated Verification of UMLsec Models for Security Requirements

Automated Verification of UMLsec Models for Security Requirements Automated Verification of UMLsec Models for Security Requirements Jan Jürjens and Pasha Shabalin Software & Systems Engineering TU Munich, Germany juerjens@in.tum.de http://www.jurjens.de/jan Secure Systems

More information

Validating Distributed Object and Component Designs

Validating Distributed Object and Component Designs Validating Distributed Object and Component Designs Nima Kaveh and Wolfgang Emmerich Department of Computer Science University College London Gower Street, London WC1E 6BT, UK {N.Kaveh W.Emmerich}@cs.ucl.ac.uk

More information

Applying UML Modeling and MDA to Real-Time Software Development

Applying UML Modeling and MDA to Real-Time Software Development Michael Benkel Aonix GmbH www.aonix.de michael.benkel@aonix.de Applying UML Modeling and MDA to Real-Time Software Development The growing complexity of embedded real-time applications requires presentation

More information

Übung zur Vorlesung Mensch-Maschine-Interaktion. e5: Heuristic Evaluation

Übung zur Vorlesung Mensch-Maschine-Interaktion. e5: Heuristic Evaluation Übung zur Vorlesung Mensch-Maschine-Interaktion e5: Heuristic Evaluation Sara Streng Ludwig-Maximilians-Universität München Wintersemester 2007/2008 Ludwig-Maximilians-Universität München Sara Streng Übung

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

Arrays & Classes. Problem Statement and Specifications

Arrays & Classes. Problem Statement and Specifications Arrays & Classes Quick Start Compile step once always make -k baseball8 mkdir labs cd labs Execute step mkdir 8 java Baseball8 cd 8 cp /samples/csc/156/labs/8/*. Submit step emacs Player.java & submit

More information

Sequence Diagram. r: Register s: Sale

Sequence Diagram. r: Register s: Sale ACS-3913 1 Sequence Diagram A UML diagram used to show how objects interact. Example: r: Register s: Sale makepayment() makepayment() new() : Payment The above starts with a Register object, r, receiving

More information