Modeling SW-Architectures using UML-RT/UML 2.0
|
|
- Catherine Wright
- 6 years ago
- Views:
Transcription
1 Modeling SW-Architectures using UML-RT/UML 2.0 Ingolf H. Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA , USA California Institute for Telecommunications and Information Technologies La Jolla, CA , USA
2 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 2
3 Is the UML Good Enough? The UML offers a plethora of description techniques for many aspects of software architectures The UML has, however, also significant deficits especially when it comes to modeling complex, service-oriented systems! In particular, we miss: An adequate notation for services A non-technical component notion Clear concepts for hierarchy Strong concepts and description techniques for logical component distribution non-technical interfaces Formal means for behavior descriptions with respect to interfaces Ingolf H. Krueger CSE 3
4 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 4
5 Examples of profiles of the UML: embedded real-time systems ( UML-RT ) automotive web applications... What is UML-RT? Origin: ROOM [SGW94] + UML Read: UML with component notion Focus of UML-RT/ROOM: component-oriented development all components are potentially active units signal-/message-oriented communication time concept quality of service (in preparation) Ingolf H. Krueger CSE 5
6 The Component Model of UML-RT Description Techniques of UML-RT for Structure and Behavior capsules UML-statecharts ports MSCs connectors structure behavior Ingolf H. Krueger CSE 6
7 Hierarchical Composition in UML-RT Port Capsule Connector :CommandSource communication link between ports drives protocol concrete active object realization or passive of an container interface by means of an object communication equipped with a with protocol the environment list signal-based of incoming/outgoing (asynchronous messages/signals :CLSexchange) (signal exclusively flow) via interface objects (ports) the supports aid for hierarchical encapsulation composition and :CommandHandler separation of concerns lm:motor :MotorControl rm:motor lm:motor Ingolf H. Krueger CSE 7
8 Example:UML-statecharts h.lock/l.down wld l.ready/r.down wrd r.ready/h.done UNLD LCKD r.ready/h.done wru l.ready/r.up :CLS wlu :CommandHandler h.unlock/l.up l h :MotorControl r Ingolf H. Krueger CSE 8
9 Signal-Based Communication Capsules receive and send signals via their ports Signals, which cannot be processed immediately, are stored in a queue :CLS lock unlock lock :CommandHandler down ready :MotorControl ready down Ingolf H. Krueger CSE 9
10 Signalbasierte Kommunikation Capsules receive and send signals via their ports Signals, which cannot be processed immediately, are stored in a queue :CLS :CommandHandler unlock lock :MotorControl Ingolf H. Krueger CSE 10
11 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 11
12 Capsules Every capsule represents a potentially active object Communication between capsule and environment: exclusively via ports no public data no public methods Hierarchical decomposition into subcapsules Every capsule has (at most) one state automaton describing the capsule s behavior capsule is controller for its subcapsules see architectural pattern recursive control Ingolf H. Krueger CSE 12
13 Capsules Upon its instantiation a capsule builds its internal structure (subcapsules) The capsule can change its internal structure over time Architectural integrity Name of Capsule Capsule CLS Port Name ports cp : CommandHandler mp[2] : Initiator Protocol Role Ingolf H. Krueger CSE 13
14 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 14
15 Port Ports and Connectors belongs to precisely one capsule (the capsule creates and destroys its ports) has identity and state has behavior implements the role of its capsule in a protocol Kinds of ports Relay-Ports relay signals between capsuels and their subcapsules controlled interface export End-Ports relay signals between capsules and their state automata have queues for signals already received, but not yet processed Ingolf H. Krueger CSE 15
16 Ports and Konnektoren Simplified Representation Port Name CLS ports cp : CommandProtocol.Handler; mp[2] : MotorProtocol.Initiator; Protocol-Role (qualified with protocol name) Ingolf H. Krueger CSE 16
17 Ports and Connectors Simplified Representation in Collaboration Diagrams :CommandSource Port Symbol cp:commandprotocol.handler lm:motor mp[1]: MotorProtocol.Initiator :CLS mp[2]: MotorProtocol.Initiator rm:motor lm:motor Port Name and Protocol-Role Ingolf H. Krueger CSE 17
18 Ports and Connectors End-Port Relay-Port Relay-Port :CLS :CommandHandler lm:motor :MotorControl rm:motor lm:motor Ingolf H. Krueger CSE 18
19 UML2 Notation Ingolf H. Krueger CSE 19
20 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 20
21 Protocols Example: Simple Communication Protocol SenderRole ReceiverRole req_start ack_start data ack_data data ack_data req_end ack_end Ingolf H. Krueger CSE 21
22 Protocols Example: Simple Communication Protocol «protocolrole» SenderRole incoming ack_start ack_data ack_end outgoing req_start data req_end SenderRole ReceiverRole req_start ack_start data ack_data data ack_data req_end ack_end «protocolrole» ReceiverRole incoming req_start data req_end outgoing ack_start ack_data ack_end Ingolf H. Krueger CSE 22
23 Protokols Example: Simple Communication Protocol «protocolrole» SenderRole incoming ack_start ack_data ack_end outgoing req_start data req_end «protocolrole» ReceiverRole incoming req_start data req_end outgoing ack_start ack_data ack_end Conjugated sender role Ingolf H. Krueger CSE 23
24 Protocols Simplification for Point-to-Point Protocols «protocol» Transmission incoming ack_start ack_data ack_end outgoing req_start data req_end Base Role Base Role for Protocol (Sender View) Sender sp: Transmission Receiver rp: Transmission~ Conjugated (Inverse) Role Ingolf H. Krueger CSE 24
25 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 25
26 Behavior Description in UML-RT Every capsule that has its own behavior is associated with a UML-statechart Max one statechart per capsule Hierarchical composition: every sub-capsule can have its own statechart Ingolf H. Krueger CSE 26
27 Behavior Description in UML-RT Doing without AND-states Concurrency via separate capsules Synchronization via explicit communication Result: stronger decoupling Ingolf H. Krueger CSE 27
28 Behavior Description in UML-RT Encapsulation on the Level of States Chain State entry/ae e1/a1 /a2 /a3 exit/ax States become exchangeable entities Helps avoid stub states Ingolf H. Krueger CSE 28
29 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 29
30 Evaluation UML-RT is much better suited for the specification of software architectures and services than pure UML: hierarchic component model, precise behavior descriptions interface concept protocols and connectors Potentials for improvement (among others): m2m communication instead of p2p association of interaction patterns with ports/connectors methodological guidelines for iterative service development Future: (methodological!) treatment of Quality-of-Service aspects Ingolf H. Krueger CSE 30
31 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 31
32 Systematic Construction of Reliable SW-Systems 1. Develop/Refine domain model 2. Capture interaction patterns 3. Derive interface specification messages/signals, types behavior 4. Decompose components hierarchically Ingolf H. Krueger CSE 32
33 Example Application: Autonomous Transport System Holons carry workpieces between source and destination InStorage OutStorage holds workpieces negotiate yet holds to with be workpieces OutStorage processedafter and processing Machinetools for jobs holds production plan/program hold internal (number/kind database of representing workpieces the to be system s MachineTools processed status per day) process workpieces post jobs to be processed ( deliver workpiece ) negotiate with Holons via broadcasting Ingolf H. Krueger CSE 33
34 Example Application: Autonomous Transport System Architectural Aspects: MachineTool1 MachineTool2 MachineTool3 Holon1 Dispo Control Holon2 Holon3 DB InStorage OutStorage components interfaces/behavior hierarchy/decomposition p2p communication broadcasting Ingolf H. Krueger CSE 34
35 Domain Model Status 1 * 0..1 MachineTool * * Workpiece Job * Location * * * * Database HTS Storage 1 1 ProdProg 1 InStorage OutStorage 1 1 CommunicationSystem 1 Ingolf H. Krueger CSE 35
36 Architectural Pattern for Broadcasting HTS Disponent Database SingleJobControl HTS_IOSystem ProdSys InStorage HTS n MachineTool n OutStorage BroadcastSystem Ingolf H. Krueger CSE 36
37 Sequence Charts for Broadcasting time component axis local action m:machinetool h:hts l:hts requestwp() releasewp() drive to location 1 signal exchange jtransporting(jobno) update JobStatus() update JobStatus() broadcasting Ingolf H. Krueger CSE 37
38 Sequence Charts for Broadcasting state label m:machinetool h:hts l:hts jorder(jobno) waiting waiting jbid(jobno, h) compute bid compute bid jbid(jobno, l) jendofnegotiation(jobno) store job waiting waiting Ingolf H. Krueger CSE 38
39 ProdSys Derivation of Component Structure Captured scenarios & domain model indicate: active vs. passive components Point-to-point communication requirements broadcasting requirements InStorage HTS n MachineTool n OutStorage BroadcastSystem Ingolf H. Krueger CSE 39
40 Derivation of Interface Behavior Captured scenarios indicate also: names and types of signals ordering of signal flow m:machinetool h:hts l:hts drive to m:machinetoollocation 1 requestwp() h:hts l:hts waiting releasewp() jorder(jobno) jtransporting(jobno) compute bid jbid(jobno, h) update JobStatus() jendofnegotiation(jobno) waiting compute bid update JobStatus() jbid(jobno, l) HTS n store job waiting waiting Ingolf H. Krueger CSE 40
41 Overview UML: Good Enough for Specifying Architectures? UML-RT/UML 2.0 Overview Capsules Ports and Connectors Protocols Behavior Description Evaluation Example: Autononomous Transport System Summary and Outlook Ingolf H. Krueger CSE 41
42 Summary and Outlook Modeling in the real world : often if at all done using UML/UML-RT/UML 2.0 UML-RT/UML 2.0 better equipped for modeling software architectures than UML versions < 2.0 Starting point for component- and service-oriented development: domain model, interaction scenarios How to avoid over-modeling and over-engineering? Ingolf H. Krueger CSE 42
43 Ingolf H. Krueger CSE 43
Modeling SW-Architectures using UML-RT/UML 2.0
Modeling SW-Architectures using UML-RT/UML 2.0 Ingolf H. Krueger ikrueger@ucsd.edu Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California
More informationUML for Real-Time Overview
Abstract UML for Real-Time Overview Andrew Lyons April 1998 This paper explains how the Unified Modeling Language (UML), and powerful modeling constructs originally developed for the modeling of complex
More informationSoftware-Architecture, Design Patterns and Refactoring An Overview
Software-Architecture, Design Patterns and Refactoring An Overview Ingolf H. Krueger ikrueger@ucsd.edu Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114,
More informationDevelopment of Component- and Service-Oriented Software Architectures with UML and UML-RT Objects and Classes
Development of Component- and Service-Oriented Software Architectures with UML and UML-RT Objects and Classes Ingolf H. Krueger ikrueger@ucsd.edu Department of Computer Science & Engineering University
More informationPatterns for Decoupling
Patterns for Decoupling Ingolf H. Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California Institute for Telecommunications and Information
More informationT U M I N S T I T U T F Ü R I N F O R M A T I K. Modelling System Families with Message Sequence Charts: A Case Study
T U M I N S T I T U T F Ü R I N F O R M A T I K Modelling System Families with Message Sequence Charts: A Case Study Stefan Wagner, María Victoria Cengarle, Peter Graubmann TUM-I0416 Oktober 04 T E C H
More informationFrom a Specification Level PIM to a Design Level PIM in the Context of Software Radios
From a Specification Level PIM to a Design Level PIM in the Context of Software Radios Juan Pablo Zamora Francis Bordeleau Collaborators: Michel Barbeau Jeff Smith Outline Context Specification vs.. Design
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 informationCSE 210: Service-Oriented Software and Systems Engineering & Model-Driven Development
CSE 210: Service-Oriented Software and Systems Engineering & Model-Driven Development Ingolf H. Krueger ikrueger@ucsd.edu, http://sosa.ucsd.edu with contributions from Roshni Malani, Michael Meisinger,
More informationSpecifying Precise Use Cases with Use Case Charts
Specifying Precise Use Cases with Use Case Charts Jon Whittle Dept of Information & Software Engineering George Mason University 4400 University Drive Fairfax, VA 22030 jwhittle@ise.gmu.edu Abstract. Use
More informationUnified Modeling Language 2
Unified Modeling Language 2 State machines 109 History and predecessors 1950 s: Finite State Machines Huffmann, Mealy, Moore 1987: Harel Statecharts conditions hierarchical (and/or) states history states
More informationAgent-Oriented Software Engineering
Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented
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 informationA Case Study for HRT-UML
A Case Study for HRT-UML Massimo D Alessandro, Silvia Mazzini, Francesco Donati Intecs HRT, Via L. Gereschi 32, I-56127 Pisa, Italy Silvia.Mazzini@pisa.intecs.it Abstract The Hard-Real-Time Unified Modelling
More informationTowards Tool Support for Service-Oriented Development of Embedded Automotive Systems
Towards Tool Support for Service-Oriented Development of Embedded Automotive Systems Vina Ermagan 1, To-Ju Huang 1, Ingolf H. Krüger 1, Michael Meisinger 2, Massimiliano Menarini 1, Praveen Moorthy 1 1
More informationSWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 8 Architectural Design of Distributed Applications
SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 8 Architectural Design of Distributed Applications Hassan Gomaa Dept of Computer Science George Mason University
More informationUNIT 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 informationWhat is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships
Class Diagram What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification
More informationWhat is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51
What is a Class Diagram? Class Diagram A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification
More informationUNIT-4 Behavioral Diagrams
UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages
More informationBusiness 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 informationActor-Oriented Design: Concurrent Models as Programs
Actor-Oriented Design: Concurrent Models as Programs Edward A. Lee Professor, UC Berkeley Director, Center for Hybrid and Embedded Software Systems (CHESS) Parc Forum Palo Alto, CA May 13, 2004 Abstract
More informationBusiness Process Modeling. Version 25/10/2012
Business Process Modeling Version 25/10/2012 Maurizio Morisio, Marco Torchiano, 2012, 2013 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML Class
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 informationPragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,
PragmaDev change request Emmanuel Gaudin emmanuel.gaudin@pragmadev.com Languages Table of contents PragmaDev introduction Languages SDL-RT Tool support Market tendancy Change requests Presentation PragmaDev
More informationActivities Radovan Cervenka
Unified Modeling Language Activities Radovan Cervenka Activity Model Specification of an algorithmic behavior. Used to represent control flow and object flow models. Executing activity (of on object) is
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 informationSWE 760. Lecture 9: Component-based Software Architectures for Real-Time Embedded Systems
SWE 760 Lecture 9: Component-based Software Architectures for Real-Time Embedded Systems Reference: H. Gomaa, Chapter 12 - Real-Time Software Design for Embedded Systems, Cambridge University Press, 2016
More informationUP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling.
UP Requirements UP Workflows Business Modeling Requirements Analysis and Design Implementation Test Deployment Configuration & Change Management Project Management Environment Iterations Activities of
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 informationSE 1: Software Requirements Specification and Analysis
SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)
More informationBusiness Process Modeling. Version /10/2017
Business Process Modeling Version 1.2.1-16/10/2017 Maurizio Morisio, Marco Torchiano, 2012-2017 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML
More informationLesson 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 informationChapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee
Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to
More informationSOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.
SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented
More informationSoftware Architectures. Lecture 6 (part 1)
Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements
More informationTelematics I. Chapter 1 A Quick Tour. Goals of this chapter Examples Direct connection between two devices Multiple devices Errors
Telematics I Chapter 1 A Quick Tour Goals of this chapter Examples Direct connection between two devices Multiple devices Errors (Acknowledgement: these slides have been edited from Prof. Karl s set of
More informationT : Protocol Design
T-110.300: Protocol Design Protocol Design Theory Methods Protocol Engineering Process (PEP) Timo.Kyntaja@vtt.fi 1 (154) Motivation Telecom systems engineering is a huge industry networks, terminals, services
More informationA Tutorial on Agent Based Software Engineering
A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on Agent Based Software Engineering Qun Zhou December, 2002 Abstract Agent oriented software
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 informationTTool Training. I. Introduction to UML
TTool Training I. Introduction to UML Ludovic Apvrille ludovic.apvrille@telecom-paris.fr Eurecom, Office 223 Ludovic Apvrille TTool Training - 2004. Slide #1 Outline of the Training Introduction to UML
More informationSpecifications and Modeling
12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Springer, 2010 2012 年 10 月 17 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Hypothetical design
More informationModeling Interactions of Web Software
Modeling Interactions of Web Software Tevfik Bultan Department of Computer Science University of California Santa Barbara, CA 9106 bultan@cs.ucsb.edu Abstract Modeling interactions among software components
More informationObject Oriented Paradigm
Object Oriented Paradigm Ming-Hwa Wang, Ph.D. Department of Computer Engineering Santa Clara University Object Oriented Paradigm/Programming (OOP) similar to Lego, which kids build new toys from assembling
More informationAn evaluation of Papyrus-RT for solving the leader-follower challenge problem
An evaluation of Papyrus-RT for solving the leader-follower challenge problem Karim Jahed Queen s University, Kingston, ON jahed@cs.queensu.ca Abstract. We discuss and evaluate the use of Papyrus-RT modeling
More informationUnit 1 Introduction to Software Engineering
Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering
More informationObject-Interaction Diagrams: Sequence Diagrams UML
Object-Interaction Diagrams: Sequence Diagrams UML Communication and Time In communication diagrams, ordering of messages is achieved by labelling them with sequence numbers This does not make temporal
More informationDesign Patterns. Dr. Rania Khairy. Software Engineering and Development Tool
Design Patterns What are Design Patterns? What are Design Patterns? Why Patterns? Canonical Cataloging Other Design Patterns Books: Freeman, Eric and Elisabeth Freeman with Kathy Sierra and Bert Bates.
More informationbe used for more than one use case (for instance, for use cases Create User and Delete User, one can have one UserController, instead of two separate
UNIT 4 GRASP GRASP: Designing objects with responsibilities Creator Information expert Low Coupling Controller High Cohesion Designing for visibility - Applying GoF design patterns adapter, singleton,
More information12 Tutorial on UML. TIMe TIMe Electronic Textbook
TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3
More informationConcurrent Object-Oriented Development with Behavioral Design Patterns
Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch
More informationL6: OSI Reference Model
EECS 3213 Fall 2014 L6: OSI Reference Model Sebastian Magierowski York University 1 Outline The OSI Reference Model An organized way of thinking about network design (from low-level to high-level considerations)
More informationThe Structuring of Systems Using Upcalls
CS533 - Concepts of Operating Systems, Winter 2012 The Structuring of Systems Using Upcalls David D. Clark Presented by: Peter Banda Agenda Layers and Upcalls Example Multi-task Modules Problems with Upcalls
More informationINSTITUTE OF AERONAUTICAL ENGINEERING
INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad -500 0 COMPUTER SCIENCE AND ENGINEERING TUTORIAL QUESTION BANK Course Name : DESIGN PATTERNS Course Code : A7050 Class : IV B. Tech
More informationSOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa
SOFTWARE MODELING AND DESIGN UML, Use Cases, Patterns, and Software Architectures Hassan Gomaa George Mason University, Fairfax, Virginia Ki Cambridge UNIVERSITY PRESS Contents Preface P"U
More informationCSE 3214: Computer Network Protocols and Applications Network Layer
CSE 314: Computer Network Protocols and Applications Network Layer Dr. Peter Lian, Professor Department of Computer Science and Engineering York University Email: peterlian@cse.yorku.ca Office: 101C Lassonde
More informationSocket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise
More informationConfiguring TCP Header Compression
Configuring TCP Header Compression First Published: January 30, 2006 Last Updated: May 5, 2010 Header compression is a mechanism that compresses the IP header in a packet before the packet is transmitted.
More informationŁabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)
UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous
More informationAn Agent Modeling Language Implementing Protocols through Capabilities
An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,
More informationEmbedded Systems CS - ES
Embedded Systems - 1 - Synchronous dataflow REVIEW Multiple tokens consumed and produced per firing Synchronous dataflow model takes advantage of this Each edge labeled with number of tokens consumed/produced
More informationvisualstate Reference Guide
COPYRIGHT NOTICE Copyright 2000 2014 IAR Systems AB. No part of this document may be reproduced without the prior written consent of IAR Systems. The software described in this document is furnished under
More informationObjectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams
Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers
More informationSubnetting and addresses revisited
Subnetting and addresses revisited Smaller networks using one network address Hierarchy Better organization Better use of resources Addresses (network, host, broadcast) Grundlagen der Rechnernetze Introduction
More informationObject Oriented Modeling
Overview UML Unified Modeling Language What is Modeling? What is UML? A brief history of UML Understanding the basics of UML UML diagrams UML Modeling tools 2 Modeling Object Oriented Modeling Describing
More informationStructured Analysis and Structured Design
Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr References Modern
More informationInformation Systems Analysis and Design CSC340. XXV. Other Phases
XXV. Other Phases Implementation Phase Testing and Installation Phase Post-Installation Tasks Course Summary 2002 John Mylopoulos Other Phases -- 1 The Software Lifecycle Revisited Survey project scope
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 7 Integrated Object-Oriented Methodologies: OPEN and FOOM 1 Object-oriented Process, Environment and Notation (OPEN) First introduced in
More informationDesign Concepts and Principles
Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data
More informationDistributed 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 informationIntroduction to Formal Methods
2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette
More informationSpecifications Part 1
pm3 12 Specifications Part 1 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Introduction 12, 2008-2 - 1 Specification
More informationDesign Patterns. SE3A04 Tutorial. Jason Jaskolka
SE3A04 Tutorial Jason Jaskolka Department of Computing and Software Faculty of Engineering McMaster University Hamilton, Ontario, Canada jaskolj@mcmaster.ca November 18/19, 2014 Jason Jaskolka 1 / 35 1
More informationAccessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)
Accessibility EEC 521: Software Engineering Classes and Objects (OO Analysis) Attributes and Methods can be declared at three levels of accessibility Public (+) Visible everywhere Private (-) Visible only
More informationNOTES ON OBJECT-ORIENTED MODELING AND DESIGN
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented
More informationActor-eUML for Concurrent Programming
Actor-eUML for Concurrent Programming Kevin Marth and Shangping Ren Illinois Institute of Technology Department of Computer Science Chicago, IL USA martkev@iit.edu Abstract. The advent of multi-core processors
More informationDynamic Modeling - Finite State Machines
Dynamic Modeling - Finite State Machines SWE 321 Fall 2014 Rob Pettit 1 Finite State Machines Finite number of states Only in one state at a time Transition Change of state Caused by event Transition to
More informationGetting Started with Papyrus for RealTime v0.9
1. Introduction This tutorial will show the creation of a simple model using Papyrus for RealTime version 0.9.0 (based on Eclipse Neon). As a precondition to going through this tutorial, you must have
More informationLab 16: Visio Introduction
Lab 16: Visio Introduction () CONTENTS 1 Visio- Introduction to DFD Data Flow Diagraming... 2 1.1 In-Lab... 3 1.1.1 In-Lab Materials... 3 1.1.2 In-Lab Instructions... 3 2 Getting started: Let s decompose
More informationDISTRIBUTED COMPUTER SYSTEMS
DISTRIBUTED COMPUTER SYSTEMS Communication Fundamental REMOTE PROCEDURE CALL Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline Communication Architecture Fundamentals
More informationIntroduction to Networking
Introduction to Networking The fundamental purpose of data communications is to exchange information between user's computers, terminals and applications programs. Simplified Communications System Block
More informationModeling Real-Time System Architectures with UML 2.0
Modeling Real-Time System Architectures with UML 2.0 Bran Selic Principal Engineer IBM Software Group Rational Software bselic@ca.ibm.com Objectives Define architecture and its role in software design
More informationIn This Lecture You Will Learn: Specifying Control. Statechart. Event, State and Transition
In This Lecture You Will Learn: Specifying Control Lecture 11 How to identify requirements for control in an application How to model object life cycles using statecharts How to develop statechart diagrams
More informationCS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L
CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction UML Unified Modeling Language Very well recognized specification for modeling architectures, use cases, etc. UML
More informationFlexFlow: Workflow for Interactive Internet Applications
FlexFlow: Workflow for Interactive Internet Applications Rakesh Mohan, Mitchell A. Cohen, Josef Schiefer {rakeshm, macohen, josef.schiefer}@us.ibm.com IBM T.J. Watson Research Center PO Box 704 Yorktown
More informationCSE 461 Module 10. Introduction to the Transport Layer
CSE 461 Module 10 Introduction to the Transport Layer Last Time We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF, BGP) It was all about routing: how to provide end-to-end delivery
More informationInteractions A link message
Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between
More informationSystem-On-Chip Architecture Modeling Style Guide
Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22
More informationDesign Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman
CS314, Colorado State University Software Engineering Notes 4: Principles of Design and Architecture for OO Software Focus: Determining the Overall Structure of a Software System Describes the process
More informationAPPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS
APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS Adem Zumbul (TUBITAK-UEKAE, Kocaeli, Turkey, ademz@uekae.tubitak.gov.tr); Tuna Tugcu (Bogazici University, Istanbul, Turkey, tugcu@boun.edu.tr) ABSTRACT
More informationFROM SYNCHRONOUS SPECIFICATIONS TO ASYNCHRONOUS DISTRIBUTED IMPLEMENTATIONS Technische Universitiit Miinchen Peter Scholz
FROM SYNCHRONOUS SPECIFICATIONS TO ASYNCHRONOUS DISTRIBUTED IMPLEMENTATIONS Technische Universitiit Miinchen Peter Scholz In this contribution, we sketch a design process for reactive systems, specified
More informationOBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization
OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams
More informationCMSC 332 Computer Networks Network Layer
CMSC 332 Computer Networks Network Layer Professor Szajda CMSC 332: Computer Networks Where in the Stack... CMSC 332: Computer Network 2 Where in the Stack... Application CMSC 332: Computer Network 2 Where
More informationCOPYRIGHTED MATERIAL. Table of Contents. Foreword... xv. About This Book... xvii. About The Authors... xxiii. Guide To The Reader...
Table of Contents Foreword..................... xv About This Book... xvii About The Authors............... xxiii Guide To The Reader.............. xxvii Part I Some Concepts.................. 1 1 On Patterns
More informationBABU MADHAV INSTITUTE OF INFORMATION TECHNOLOGY, UTU 2017
5 years Integrated M.Sc (IT) Semester 3 Question Bank 060010310 DSE4 Computer Networks Unit 1 Introduction Short Questions 1. State the term data with respect to computer network. 2. What is data communication?
More informationCHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview
CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:
More informationPieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. September 9, 2016
Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek September 9, 2016 Contents /FHTenL September 9, 2016 2/35 UML State Uses and application In behaviour is modeled with state charts (diagrams)
More informationComponents vs. Objects
Components vs. Objects Luigia Petre Turku Centre for Computer Science & Abo Akademi University, FIN-20520 Turku, Finland (Presented at Nordic Workshop on Programming Theory, Bergen, Norway, Oct 11-13,
More informationSCOS-2000 Technical Note
SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared
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 information