Modeling Real-Time System Architectures with UML 2.0
|
|
- Garry Powell
- 6 years ago
- Views:
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 Bran Selic IBM Distinguished Engineer IBM Canada 2006 IBM Corporation Outline IBM Rational Software On Software Architecture and MDD Requirements for Modeling
More informationArchitectural 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 informationSoftware 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 information1998, 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 informationSoftware 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 informationOrthographic 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 informationUML 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 informationThe 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 informationArchitectural 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 information1 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 informationR/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 informationInheritance (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 informationInternet 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 informationInternet 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 informationSoC 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 informationObject-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 informationComponent 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 informationElement: 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 informationObject 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 informationContainer 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 informationNetwork 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 informationArchitectures 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 informationArchitectural 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 informationDesign 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 informationQoS-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 informationService-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 informationDeveloping 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 information5/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 informationObject-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 informationPeer 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 informationEPL 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 informationReview 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 informationOOAD - 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 informationEngr. 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 informationSoftware 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 informationProduced 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 informationReview 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 informationPractical 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 informationDescribing 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 informationData 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 informationSOFTWARE 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 informationSoftware 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 informationArchitecture-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 informationClass 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 informationmodeling 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 informationDesign 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 informationExperiment 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 informationUsing 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 informationSEEM4570 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 informationUnofficial 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 informationExecution 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 informationClass 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 informationSoftware 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 informationAbstraction 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 informationCollage: 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 informationObject- 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 informationCmpt 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 informationClasses 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 informationObject-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 informationOASIS 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 informationComplexity. 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 informationGrowth. 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 informationPresenter: 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 informationChapter 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 informationMulti 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 informationSummary 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 informationUML 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 informationOSI 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 informationDescribing 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 informationModel 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 informationAnalysis 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 informationChapter 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 informationImplementing 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 informationIntroduction. 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 informationArchitectural 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 informationCAS 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 informationThe 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 informationDeclarative 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 informationSoftware 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 informationCHAPTER 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 informationIn 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 informationExercise 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 informationSOFTWARE 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 informationChapter 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 informationWHAT 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 informationInnovating 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 informationClass 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 informationContext-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 informationObject-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 information2.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 informationChapter 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 information2.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 informationArchiMate 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 informationDesign 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 informationSoftware 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 informationObjectives. 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 informationSystem 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 informationInformation 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 informationIntroducing 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 informationObject-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