Modeling Real-Time System Architectures with UML 2.0

Size: px
Start display at page:

Download "Modeling Real-Time System Architectures with UML 2.0"

Transcription

1 Modeling Real-Time System Architectures with UML 2.0 Bran Selic Principal Engineer IBM Software Group Rational Software Objectives Define architecture and its role in software design Identify requirements for modeling software architectures Describe how UML 2 and MDA can be used for modeling software architectures of embedded systems 2 1

2 A Parable Lisle, Illinois: ring road Lab Building Architectural decay, caused by: Lack of high-level (architectural) view ( the forest vs the trees ) Difficulties in enforcing architectural decisions 3 Presentation Overview Software architecture and its role Requirements for architectural modeling The role of UML 2 and MDA in architectural modeling Example system Architectural patterns for embedded software 4 2

3 (Run-Time) Architecture An abstract view of a system that identifies only the important elements and relationships We will focus only on run-time architectures: The run-time organization of significant software components interacting through interfaces, those components being composed of successively smaller components and interfaces 5 Why Architecture is Important Enables communication between stakeholders exposes how individual requirements are handled Drives system construction decomposition into units of responsibility and parallel development Determines a system s capacity for evolutionary growth A X A X Mediator B C B C 6 3

4 Presentation Overview Software architecture and its role Requirements for architectural modeling The role of UML 2 and MDA in architectural modeling Example system Architectural patterns for embedded software 7 Example Complex Architecture Spec Example telecom system architecture Structure Channel1 TerminalA TerminalB Application Layer Channel2 Services Layer Behavior 8 4

5 Basic Run-Time Architectural Patterns Peer-to-peer communication: PartA PartB Containment: Container Container Part Part composition (existence dependency) Layering Layer N+1 Layer N aggregation (information hiding) 9 Architectural Component Design Library Channel1 System1 Terminal TerminalA TerminalB Channel Channel2 Terminal Tester TerminalA System2 Terminal Tester 10 5

6 Refining Architectures (Reuse) Channel1 TerminalA TerminalB Channel1 TerminalA TerminalB Channel2 11 Architectural Decay The (usually) gradual divergence between an architectural model and its corresponding program implementation Caused by: Misunderstandings of architectural intent Design disagreements Implementation (coding) errors Lab Building Often occurs during low-level maintenance work 12 6

7 Summary of Requirements Need the ability to specify software architectural patterns in a direct and and expressive way Need to provide reuse of architectural-level components Need to prevent architectural decay 13 Presentation Overview Software architecture and its role Requirements for architectural modeling The role of UML 2 and MDA in architectural modeling Example system Architectural patterns for embedded software 14 7

8 UML 2.0 and Architectural Modeling UML 2.0 adds two fundamental capabilities for modeling software architectures Structured classes for modeling structural aspects: - parts, ports, and connectors - reusable architectural components (Complex) interactions for modeling behavior sender receiver Call loop AckCall (parms) XRparms(parms) Data AckData Hangup AckHangup FaxCall c c sender:fax receiver:fax remote remote 15 What About Architectural Decay? Ensure visibility and enforcement of architectural intent Achieved by: Requiring that all design work to take place at the model level Automatically generating implementations directly from models i.e., use model-driven development 16 8

9 Structured Object Semantics Run-time assertion: the complete internal structure of a composite is automatically created (recursively, if necessary) when the object is created f1 := create(faxcall); sender:fax receiver:fax f1:faxcall 17 Benefits of Run-Time Assertion Architectural enforcement: only explicitly prescribed architectural structures can be instantiated it is not possible to bypass (corrupt) the architecture by lowlevel programming Simplification: low-level program code that dynamically creates (destroys) components and the connections between them is eliminated in some systems this can be as much as 35% of all code Major net gain in productivity and reliability 18 9

10 Summary: UML as an ADL UML 2.0 seems to have the necessary level of expressive power to specify software architectures directly (= architectural description language) By supporting the class/object paradigm at the architectural level it enables definition of reusable architectural components Combined with Model-Driven Development (MDD) methods, it can also ensure architectural enforcement 19 Presentation Overview Software architecture and its role Requirements for architectural modeling The role of UML 2 and MDA in architectural modeling Example system Architectural patterns for embedded software 20 10

11 Design Patterns A design pattern is a proven generalized solution to a generalized problem that can be used to derive a specific solution to a specific problem Represent distilled reusable experience Major benefits of using patterns: Simplify and speed-up design Reduce risk Facilitate communications between designers 21 Example System A multi-line packet switch that uses the alternating-bit protocol as its link protocol End user AB sender AB protocol End user End user line card 1... AB receiver line card N unreliable transmission medium AB receiver AB sender SWITCH 22 11

12 Alternating Bit Protocol (1) A simple one-way point-to-point packet protocol packetizer Sender Receiver unpacker data(1) pkta data(1) AB protocol ack data(2) ack acka pktb ackb etc. ack data(2) ack 23 Alternating Bit Protocol (2) State machine specification Sender SM AcceptPktA Receiver SM RcvdPktA data/^pkta timeout/^pktb ackb/^ack ack/^acka timeout/^ackb pkta/^data WaitAckA WaitAckB WaitPktB WaitPktA timeout/^pkta timeout/^acka acka/^ack data/^pktb pktb/^data ack/^ackb AcceptPktB RcvdPktB 24 12

13 Additional Considerations Support infrastructure AB receiver AB sender AB lines manager SWITCH operator interface DB interface System operator DBase 25 Control The set of (additional) mechanisms and actions required to bring a system into the desired operational state and to maintain it in that state in the face of various planned and unplanned disruptions For software systems this includes: system/component start-up and shut-down failure detection/reporting/recovery system administration, maintenance, and provisioning (on-line) software upgrade 26 13

14 Retrofitting Control Behavior JustCreated GettingData Hardware Audit ReadyToGo Analysing Failure AcceptPktA Failed WaitAckA WaitAckB AcceptPktB 27 The Control Automaton In isolation, the same control behavior appears much simpler JustCreated GettingData Hardware Audit Analysing Failure ReadyToGo Failed Operational 28 14

15 Control versus Function Control behavior is often treated in an ad hoc manner, since it is not part of the primary system functionality typically retrofitted into the framework optimized for the functional behavior leads to controllability and stability problems However, in highly-dependable systems as much as 80% of the system code is dedicated to control behavior! 29 Some Important Observations Control predicates function before a system can perform its primary function, it first has to reach its operational state Control behavior is often independent of functional behavior the process by which a system reaches its operational state is often the same regardless of the specific functionality of the component 30 15

16 Presentation Overview Software architecture and its role Requirements for architectural modeling The role of UML 2 and MDA in architectural modeling Example system Architectural patterns for embedded software 31 The Recursive Control Architectural Pattern 32 16

17 Basic Design Principles Separate control from function separate control components from functional components separate control interfaces from functional interfaces imbed functional behavior within control behavior Centralize control (decision making) if possible, focus control in one component place control policies in the control components and control mechanisms inside the controlled components 33 The Basic Structural Pattern Set of components that need to be controlled in a coordinated fashion Control interface Central Controller Controlled Controlled... Component 1 Component N Functional (service) interface 34 17

18 Hierarchical control Recursive Application scales up to arbitrary number of levels Central Controller Central Controller Central Controller Controlled Component 1... Controlled Component N... Controlled Component 1... Controlled Component N 35 Behavior Ports Ports directly connected to the state machine Implementation Behavior Port c : SystemControl Behavior Port container state machine senderctrl : Control~ receivectrl : Control~ initial connecting c : Control connected c : Control sender:fax receiver:fax 36 18

19 Realization with Ports and Objects Composite plays role of centralized controller CompSet JustCreated GettingData Hardware Audit ReadyToGo Analysing Failure Failed c1:comp1 Operational cn:compn 37 Exploiting Inheritance Abstract control classes can capture common control behavior and structure Different subclasses capture function-specific behavior AbstractControllee ports controlport: CtrlProtocol Sender Receiver

20 Exploiting Hierarchical States JustCreated GettingData Hardware Audit Analysing Failure Failed AbstractControllee ports controlport: CtrlProtocol Sender ReadyToGo Operational 39 The Run-Time Layering Architectural Pattern 40 20

21 Semantics of Layering (1) A fundamentally different type of structural relationship AB sender operator interface Operating System Layering is different from containment Higher-layers do not contain lower layers Formally, the lower layers contain the higher layers (existence dependency) but they do not encapsulate them 41 Semantics of Layering (2) In complex systems, layering is a complex multidimensional relationship e.g., 7-layer model of Open System Interconnection (OSI) Level 7 Level 6 Level 5 Level 4 Network Link Hardware Operating System 42 21

22 Inadequate Representations of Layering Staircase model Toaster model Application Specialized Services General Services Operating System 43 More on the OSI Model Two distinct kinds of interfaces: peer and SAP Public Interface Layer N + 1 Public or Private Interface? Layer N + 1 SAP Layer N 44 22

23 Implementation Components Private sub-components required to realize the functionality offered by component through its public interface Internal implementation component External implementation component A B C D AB sender operator interface Timing Service 45 Usage Interface Interface Types for Layering Need to differentiate two interface types: Usage interface: implementation-independent interface through which a component provides its services (function and control) Implementation interface (service access point): implementation-specific interface through which a component accesses an external service Front-end/back-end views: Implementation Interface 46 23

24 Implementation Interfaces Implementation interfaces are public interfaces but can be viewed as being in a different plane (dimension) from service interfaces A B C D AB sender operator interface 90 o Timing Service 47 Modeling Layers with Ports and Objects Implementation interfaces are modeled by implementation end ports that can be connected directly to service ports of other objects Service access point UpperLayer InternalComp TimingService 48 24

25 Summary: Architectural Patterns Architecture plays a fundamental role in software design and evolution To prevent architectural decay we need to Specify architectures directly, clearly, and easily Enforce architectural specifications The combination of UML 2 and MDA enables us to meet these objectives We have demonstrated this ability by showing how these concepts can be used to model two high-level architectural patterns common in embedded system design 49 25

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

Architectural Blueprint

Architectural Blueprint 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 Architectural Blueprint

More information

Software Architectures

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

More information

1998, 1999, 2000, 2001, 2002 Rational Software - All rights reserved. A Preview of UML 2.0

1998, 1999, 2000, 2001, 2002 Rational Software - All rights reserved. A Preview of UML 2.0 1998, 1999, 2000, 2001, 2002 Rational Software - All rights reserved A Preview of UML 2.0 IMPORTANT DISCLAIMER! The technical material described here is still under development and is subject to modification

More information

Software Development. Modular Design and Algorithm Analysis

Software Development. Modular Design and Algorithm Analysis Software Development Modular Design and Algorithm Analysis Data Encapsulation Encapsulation is the packing of data and functions into a single component. The features of encapsulation are supported using

More information

Orthographic Software Modeling A Practical Approach to View Based Development

Orthographic Software Modeling A Practical Approach to View Based Development Orthographic Software Modeling A Practical Approach to View Based Development Colin Atkinson University of Mannheim Germany MSI 2009 7 th October 2009 Oldenburg Outline Modern software engineering paradigms

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

The History and the layers of the OSI Model 30 - October

The History and the layers of the OSI Model 30 - October THE OSI MODEL Established in 1947, the International Standards Organization (ISO) is a multinational body dedicated to worldwide agreement on international standards. An ISO standard that covers all aspects

More information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)

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

R/3 System Object-Oriented Concepts of ABAP

R/3 System Object-Oriented Concepts of ABAP R/3 System Object-Oriented Concepts of ABAP Copyright 1997 SAP AG. All rights reserved. No part of this brochure may be reproduced or transmitted in any form or for any purpose without the express permission

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

Internet Routing. Review of Networking Principles. What s the Internet: nuts and bolts view. Communication links

Internet Routing. Review of Networking Principles. What s the Internet: nuts and bolts view. Communication links Internet Routing Review of Networking Principles 1 What s the Internet: nuts and bolts view Millions of connected computing devices: hosts, end-systems PC s workstations, servers PDA s, phones, toasters

More information

Internet Routing. Review of Networking Principles

Internet Routing. Review of Networking Principles Internet Routing Review of Networking Principles 1 What s the Internet: nuts and bolts view Millions of connected computing devices: hosts, end-systems PC s workstations, servers PDA s, phones, toasters

More information

SoC Design with UML and SystemC. Alberto Sardini Software Engineering Specialist

SoC Design with UML and SystemC. Alberto Sardini Software Engineering Specialist SoC Design with UML and SystemC Alberto Sardini Software Engineering Specialist Presentation Structure Modeling Languages for a SoC Design Process UML 2.0 Overview SystemC to UML 2 Mapping Summary 2 Modeling

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

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

Element: Relations: Topology: no constraints.

Element: Relations: Topology: no constraints. The Module Viewtype The Module Viewtype Element: Elements, Relations and Properties for the Module Viewtype Simple Styles Call-and-Return Systems Decomposition Style Uses Style Generalization Style Object-Oriented

More information

Object Relationships

Object Relationships Object Relationships Objects can work together in three different types of relationships: Uses: An object can use another to do some work (association). Composition: A complex object may be composed of

More information

Container Services for High Confidence Software

Container Services for High Confidence Software Container Services for High Confidence Software Gary J. Vecellio, William M. Thomas, and Robert M. Sanders The MITRE Corporation 7515 Colshire Drive McLean, VA 22102-7508 {vecellio,bthomas,rsanders}@mitre.org

More information

Network Protocols and Architectures

Network Protocols and Architectures Network Protocols and Architectures Introduction 1 What s the Internet: nuts and bolts view Millions of connected computing devices: hosts, end-systems PC s workstations, servers PDA s, phones, toasters

More information

Architectures in Context

Architectures in Context Architectures in Context Software Architecture Lecture 2 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Learning Objectives Understand architecture in its relation

More information

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.)

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) Design Pattern CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) A. Design Pattern Design patterns represent the best practices used by experienced

More information

QoS-aware model-driven SOA using SoaML

QoS-aware model-driven SOA using SoaML QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira

More information

Service-Oriented Programming

Service-Oriented Programming Service-Oriented Programming by Guy Bieber, Lead Architect, ISD C4I, Motorola ABSTRACT - The Service-Oriented Programming (SOP) model is the most exciting revolution in programming since Object Oriented

More information

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

Peer entities. Protocol Layering. Protocols. Example

Peer entities. Protocol Layering. Protocols. Example Peer entities Protocol Layering An Engineering Approach to Computer Networking Customer A and B are peers Postal worker A and B are peers Protocols A protocol is a set of rules and formats that govern

More information

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 6: Design Patterns

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 6: Design Patterns EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 6: Design Patterns Links to Design Pattern Material 1 http://www.oodesign.com/ http://www.vincehuston.org/dp/patterns_quiz.html Types of Design Patterns 2 Creational

More information

Review Sources of Architecture. Why Domain-Specific?

Review Sources of Architecture. Why Domain-Specific? Domain-Specific Software Architectures (DSSA) 1 Review Sources of Architecture Main sources of architecture black magic architectural visions intuition theft method Routine design vs. innovative design

More information

OOAD - OBJECT MODEL. The concepts of objects and classes are intrinsically linked with each other and form the foundation of object oriented paradigm.

OOAD - OBJECT MODEL. The concepts of objects and classes are intrinsically linked with each other and form the foundation of object oriented paradigm. OOAD - OBJECT MODEL http://www.tutorialspoint.com/object_oriented_analysis_design/ooad_object_oriented_model.htm Copyright tutorialspoint.com The object model visualizes the elements in a software application

More information

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving

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

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

Review of Topology and Access Techniques / Switching Concepts

Review of Topology and Access Techniques / Switching Concepts Review of Topology and s / Concepts BSAD 141 Dave Novak Sources: Network+ Guide to Networks, Dean 2013 Overview Three base wired topologies Bus, star, ring Two wireless topologies Ad-hoc, infrastructure

More information

Practical Model-Driven Development with the IBM Software Development Platform

Practical Model-Driven Development with the IBM Software Development Platform IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1

Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1 Design Principles Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques 2-1 Data Structures Data Structure - A systematic way of organizing and accessing

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Introduction software development projects are large and complex a phased approach to control it is necessary

More information

Architecture-Centric Evolution in Software Product Lines:

Architecture-Centric Evolution in Software Product Lines: Architecture-Centric Evolution in Software Product Lines: Position Paper Hassan Gomaa Department of Information and Software Engineering George Mason University Fairfax, Virginia 22030, USA hgomaa@gmu.edu

More information

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects. Class Diagrams UML Class Diagram Classes consist of the class name written in BOLD features attributes and methods user-defined constraints Note that class diagrams contain only classes, not objects. Class

More information

modeling essential properties treat what and how independently building complex structures from simpler ones identifying common elements

modeling essential properties treat what and how independently building complex structures from simpler ones identifying common elements Design Strategies in OO Development 1 Abstraction Separation Composition Generalization modeling essential properties treat what and how independently building complex structures from simpler ones identifying

More information

Design Strategies in OO Development

Design Strategies in OO Development Design Strategies in OO Development 1 Abstraction Separation Composition Generalization modeling essential properties treat what and how independently building complex structures from simpler ones identifying

More information

Experiment no 4 Study of Class Diagram in Rational Rose

Experiment no 4 Study of Class Diagram in Rational Rose Experiment no 4 Study of Class Diagram in Rational Rose Objective-: To studyclass Diagram in Rational Rose. References-: www.developer.com The Unified Modeling Language User Guide by Grady Booch Mastering

More information

Using the Actor Framework in LabVIEW

Using the Actor Framework in LabVIEW Using the Actor Framework in LabVIEW By Allen C. Smith and Stephen R. Mercer The Actor Framework is a software library that supports the writing of applications in which multiple VIs run independently

More information

SEEM4570 System Design and Implementation. Lecture 11 From Design to Implementation

SEEM4570 System Design and Implementation. Lecture 11 From Design to Implementation SEEM4570 System Design and Implementation Lecture 11 From Design to Implementation Introduction We learned programming and we learned UML, but separately. Now, the question is how can we translate a design

More information

Unofficial Comment Form Project Modifications to CIP Standards Virtualization in the CIP Environment

Unofficial Comment Form Project Modifications to CIP Standards Virtualization in the CIP Environment Unofficial Comment Form Project 2016-02 Modifications to CIP Standards Virtualization in the CIP Environment Do not use this form for submitting comments. Use the electronic form to submit comments on

More information

Execution of UML models Present and Future of Research and Practice

Execution of UML models Present and Future of Research and Practice Execution of UML models Present and Future of Research and Practice Federico Ciccozzi, Ivano Malavolta, Bran Selic Mälardalen University, Vrije University, Malina Software Corp. Ericsson Modeling Days

More information

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects. Class Diagrams UML Class Diagram Classes consist of the class name written in BOLD features attributes and methods user defined constraints Note that class diagrams contain only classes, not objects. Class

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Recap 1 to 5 Chapters 1. UML Notation 1. Use Case 2. Class Diagrams 3. Interaction or Sequence Diagrams 4. Machine or State Diagrams 5. Activity Diagrams

More information

Abstraction Patterns in Model-Based Engineering

Abstraction Patterns in Model-Based Engineering 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

More information

Collage: A Declarative Programming Model for Compositional Development and Evolution of Cross-Organizational Applications

Collage: A Declarative Programming Model for Compositional Development and Evolution of Cross-Organizational Applications Collage: A Declarative Programming Model for Compositional Development and Evolution of Cross-Organizational Applications Bruce Lucas, IBM T J Watson Research Center (bdlucas@us.ibm.com) Charles F Wiecha,

More information

Object- Oriented Design with UML and Java Part I: Fundamentals

Object- Oriented Design with UML and Java Part I: Fundamentals Object- Oriented Design with UML and Java Part I: Fundamentals University of Colorado 1999-2002 CSCI-4448 - Object-Oriented Programming and Design These notes as free PDF files: http://www.softwarefederation.com/cs4448.html

More information

Cmpt 135 Assignment 2: Solutions and Marking Rubric Feb 22 nd 2016 Due: Mar 4th 11:59pm

Cmpt 135 Assignment 2: Solutions and Marking Rubric Feb 22 nd 2016 Due: Mar 4th 11:59pm Assignment 2 Solutions This document contains solutions to assignment 2. It is also the Marking Rubric for Assignment 2 used by the TA as a guideline. The TA also uses his own judgment and discretion during

More information

Classes and Inheritance in Actor- Oriented Models

Classes and Inheritance in Actor- Oriented Models Classes and Inheritance in Actor- Oriented Models Stephen Neuendorffer Edward Lee UC Berkeley Chess Review May 8, 2003 Berkeley, CA Introduction Component-based design Object-oriented components Actor-oriented

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

OASIS BPEL Webinar: Frank Leymann Input

OASIS BPEL Webinar: Frank Leymann Input OASIS BPEL Webinar: Frank Leymann Input (OASIS Webinar, March 12th, 2007) Prof. Dr. Frank Leymann Director, Institute of Architecture of Application Systems Former IBM Distinguished Engineer BPEL s Role

More information

Complexity. Object Orientated Analysis and Design. Benjamin Kenwright

Complexity. Object Orientated Analysis and Design. Benjamin Kenwright Complexity Object Orientated Analysis and Design Benjamin Kenwright Outline Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean by Complexity? How do

More information

Growth. Individual departments in a university buy LANs for their own machines and eventually want to interconnect with other campus LANs.

Growth. Individual departments in a university buy LANs for their own machines and eventually want to interconnect with other campus LANs. Internetworking Multiple networks are a fact of life: Growth. Individual departments in a university buy LANs for their own machines and eventually want to interconnect with other campus LANs. Fault isolation,

More information

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

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

Multi Channel Architecture Model Based on Service Oriented Integration

Multi Channel Architecture Model Based on Service Oriented Integration 82 Multi Channel Architecture Model Based on Service Oriented Integration Ion LUNGU, Davian POPESCU, Anda VELICANU Academy of Economic Studies, Bucharest, România The volume of data and numerous applications

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

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide

More information

OSI Data Link Layer. Network Fundamentals Chapter Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Data Link Layer. Network Fundamentals Chapter Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Data Link Layer Network Fundamentals Chapter 7 1 Objectives Explain the role of Data Link layer protocols in data transmission. Describe how the Data Link layer prepares data for transmission on network

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

Model Driven Engineering (MDE)

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

More information

Analysis and Design with the Universal Design Pattern

Analysis and Design with the Universal Design Pattern Analysis and Design with the Universal Design Pattern by Koni Buhrer Software Engineering Specialist Rational Software Developing large software systems is notoriously difficult and unpredictable. Software

More information

Chapter 6 Architectural Design

Chapter 6 Architectural Design Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural

More information

Implementing the Army Net Centric Data Strategy in a Service Oriented Environment

Implementing the Army Net Centric Data Strategy in a Service Oriented Environment Implementing the Army Net Centric Strategy in a Service Oriented Environment Michelle Dirner Army Net Centric Strategy (ANCDS) Center of Excellence (CoE) Service Team Lead RDECOM CERDEC SED in support

More information

Introduction. ADL Roles

Introduction. ADL Roles Architecture Description Languages (ADLs) 1 Introduction Architecture is key to reducing development costs development focus shifts to coarse-grained elements Formal architectural models are needed ADLs

More information

Architectural Design

Architectural Design Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction

More information

The Analysis and Design of the Object-oriented System Li Xin 1, a

The Analysis and Design of the Object-oriented System Li Xin 1, a International Conference on Materials Engineering and Information Technology Applications (MEITA 2015) The Analysis and Design of the Object-oriented System Li Xin 1, a 1 Shijiazhuang Vocational Technology

More information

Declarative Internet-scale Computing CoreGRID WP3 - Barcelona

Declarative Internet-scale Computing CoreGRID WP3 - Barcelona Declarative Internet-scale Computing CoreGRID WP3 - Barcelona Savas Parastatidis School of Computing Science University of Newcastle upon Tyne savas@parastatidis.name blog/web: http://savas.parastatidis.name

More information

Software Architecture. Definition of Software Architecture. The importance of software architecture. Contents of a good architectural model

Software Architecture. Definition of Software Architecture. The importance of software architecture. Contents of a good architectural model Software Architecture Definition of Software Architecture Software architecture is process of designing g the global organization of a software system, including: Dividing software into subsystems. Deciding

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

In this Lecture you will Learn: Design Patterns. Patterns vs. Frameworks. Patterns vs. Frameworks

In this Lecture you will Learn: Design Patterns. Patterns vs. Frameworks. Patterns vs. Frameworks In this Lecture you will Learn: Design Patterns Chapter 15 What types of patterns have been identified in software development How to apply design patterns during software development The benefits and

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA PURPOSE OF THIS CLASS An introduction to software architecture What is an architecture Why it is important How it is represented

More information

Chapter 5: Procedural abstraction. Function procedures. Function procedures. Proper procedures and function procedures

Chapter 5: Procedural abstraction. Function procedures. Function procedures. Proper procedures and function procedures Chapter 5: Procedural abstraction Proper procedures and function procedures Abstraction in programming enables distinction: What a program unit does How a program unit works This enables separation of

More information

WHAT IS SOFTWARE ARCHITECTURE?

WHAT IS SOFTWARE ARCHITECTURE? WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is

More information

Innovating to Increase Revenue

Innovating to Increase Revenue WHITE PAPER Innovating to Increase Revenue Uniquely Driving Differentiation & Competitive Advantage INTRODUCTION The business drivers for mobile operators looking to transform their networks are: 1) Declining

More information

Class Inheritance and OLE Integration (Formerly the Common Object Model)

Class Inheritance and OLE Integration (Formerly the Common Object Model) TM Class Inheritance and OLE Integration (Formerly the Common Object Model) Technical Overview Shawn Woods, Mike Vogl, and John Parodi August 1995 Digital Equipment Corporation Introduction This paper

More information

Context-Awareness and Adaptation in Distributed Event-Based Systems

Context-Awareness and Adaptation in Distributed Event-Based Systems Context-Awareness and Adaptation in Distributed Event-Based Systems Eduardo S. Barrenechea, Paulo S. C. Alencar, Rolando Blanco, Don Cowan David R. Cheriton School of Computer Science University of Waterloo

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/04-023 revision 2 Date: September 06, 2005 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular

More information

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/06-6 revision 2 Date: May 22, 2006 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular documentation

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

Design Engineering. Overview

Design Engineering. Overview Design Engineering Overview What is software design? How to do it? Principles, concepts, and practices High-level design Low-level design N. Meng, B. Ryder 2 1 Design Engineering The process of making

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

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

System Models. 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models. Nicola Dragoni Embedded Systems Engineering DTU Informatics

System Models. 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models. Nicola Dragoni Embedded Systems Engineering DTU Informatics System Models Nicola Dragoni Embedded Systems Engineering DTU Informatics 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models Architectural vs Fundamental Models Systems that are intended

More information

Information System Design (IT60105)

Information System Design (IT60105) Information System Design (IT60105) Lecture 26 Object-Oriented System Testing Lecture #23 Procedural vs OO paradigms Why not Traditional Testing? Issues Methodology 2 Procedural Vs OO p Procedural Vs OO

More information

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Ratko Orlandic Department of Computer Science and Applied Math Illinois Institute of Technology

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming 3/18/14 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Object-Oriented

More information