Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
COMPONENT DIAGRAM in UML 2.0 Veronica Carrega
Object-Oriented Analysis and Design
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Unified Modeling (Part I) Overview of UML & Modeling
Using Architecture Frameworks
© Copyright Eliyahu Brutman Programming Techniques Course.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
An Introduction to Software Architecture
Chapter 1: Introduction to Systems Analysis and Design
Introduction to MDA (Model Driven Architecture) CYT.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Unified Modeling Language, Version 2.0
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
SOFTWARE DESIGN.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
4. UML. CPSC 333: Foundations of Software EngineeringJ. Denzinger 4.1. Motivation The Unified Modeling Language tries to integrate older approaches Developed.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
By: DiGitAll UML an overview. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
TAL7011 – Lecture 4 UML for Architecture Modeling.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Introduction to the Unified Modeling Language.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML (Unified Modeling Language)
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
UML: Unified modeling language
UML profiles.
An Introduction to Software Architecture
Design Yaodong Bi.
Presentation transcript:

Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN 37203

Talk Outline 1. Introduction 1. UML 1.x History & Shortcomings 2. UML 2.0 Specification, Design Goals and Enhancements 2. Case Study: The UML 2.0 Structure Packages 1. Composite Structure 1. Example: Collaboration Diagram 2. Component 1. Example: Component Assembly 3. Deployment 1. Example: Run-time Deployment

Modeling Component based Software Systems using UML 2.0 The Unified Modeling Language UML is a suite of object-oriented modeling packages that can be used to describe the structure and behavior of engineering systems. UML 1.0 was first standardized in 1996 to unify the Booch, Object Modeling Technique (OMT), and Object-Oriented Software Engineering (OOSE) methods. UML 1.x gained widespread acceptance as the standard way to describe software architecture. Over time, problems in the UML 1.x specification began to appear. Excessive size and complexity. Limited customizability. Some unused, poorly-defined elements. Inadequate support for components.

Modeling Component based Software Systems using UML 2.0 UML 2.0 Design Goals The UML 2.0 Request for Proposals laid out the following requirements: Clarify the semantics of the generalization, dependency, and association relationships. Support encapsulation and scalability in behavioral modeling, especially for state machines and interactions. Remove restrictions on activity graph modeling due to the mapping to state machines. Add data flow modeling. Increase expressiveness of sequence diagrams. Enable the modeling of structural patterns, such as component-based development. The OMG has formulated an initiative called “Model-Driven Architecture” (MDA) A framework for a set of standards in support of a model-centered style of development Key characteristic of MDA: The focus and principal products of software development are models. Key design goal for UML 2.0: Improve the conceptual foundations of UML to provide better support for MDA.

Modeling Component based Software Systems using UML 2.0 UML 2.0 Specification UML 2.0 is divided into four sub-specifications. The infrastructure defines modeling primitives. The superstructure defines user-level packages. The diagram interchange allows the smooth exchange of UML- compliant models between software tools. The OCL description defines a formal language for constructing expressions on UML models. The superstructure specification contains the structure and behavior packages that nearly everyone uses. The infrastructure specification exists to simplify the overall UML hierarchy and allow extensions.

Modeling Component based Software Systems using UML 2.0 UML 2.0 Structure Packages Class  contains sub-packages that define the basic structural modeling concepts of UML, particularly classes and their relationships. Component  contains artifacts for specifying software components, their interconnections and their implementations. Composite Structure  allows representation of the internal structure of classes using containment and hierarchies. Deployment  specifies a set of constructs that define the execution architecture of software systems. The UML 2.0 Superstructure defines four packages that successively depend on each other:

Modeling Component based Software Systems using UML 2.0 Composite Structure Diagrams (1/3) Composite Structures are run- time instances of classes collaborating via connections. Why model Composite Structures? Allows representation of the internal structure of a class. Can represent run-time behavior of objects by: specifying interconnections and collaborations between class instances. delegating operations to internally contained objects.

Modeling Component based Software Systems using UML 2.0 Composite Structure Diagrams (2/3) Composite Structure Diagrams extend the capabilities of Class Diagrams. Class Diagrams: do not specify how internal parts are organized within a containing class. have no direct means of specifying how interfaces of internal parts interact with environment.

Modeling Component based Software Systems using UML 2.0 Composite Structure Diagrams (3/3) Modeling Elements: Parts & Connector  models how internal instances are to be organized. Port  defines an interaction point between a class and its environment or a class and its contents. Collaboration  provides constructs for modeling roles played by connections.

Modeling Component based Software Systems using UML 2.0 Modeling Components (1/4) Components are highly flexible and reusable software modules. Have well-defined interfaces. Run on generic application servers. LOTS of other features that make them valuable software engineering artifacts. Why model components? Generate “glue-code” that wires components together. Configure component assemblies and underlying middleware. …

Modeling Component based Software Systems using UML 2.0 Component Diagrams (2/4) UML 2.0 Components address the deficiencies of 1.x Components UML 1.x components: required syntax that did not scale well… Diagrams with many components were difficult to understand, manage, and maintain. did not have the capability to precisely define interconnections and assemblies… No ports for provided/required interfaces. No composition of component packages.

Modeling Component based Software Systems using UML 2.0 Component Diagrams (3/4) Modeling Elements: Basic Component  extends Structured Class. Packaging Component  encapsulates other elements within a namespace. Both component types have two views: External  publicly visible properties and operations. Provided and required interfaces as ports. Wiring between components. Internal  private properties and realizing classifiers. Delegation of port operations to contained class implementations.

Modeling Component based Software Systems using UML 2.0 Component Diagrams (4/4) Components interact with: Interface  specify the operations that the component implements as well as the operations that the component invokes. Class  specify the internal operation implementations. Realization  delegate interface operations to class implementations. Port  specify the connection points between component interfaces.

Modeling Component based Software Systems using UML 2.0 Deployment Diagrams (1/2) The Deployment Package specifies the execution environment for component-based software systems. Comprises a set of constructs that can be used to represent the assignment of software artifacts to nodes. Why Model Deployments? Gain fine-grained control over the mapping of logical constructs, such as components, onto physical resources such as CPUs. Decouple platform-independent models from platform-specific models.

Modeling Component based Software Systems using UML 2.0 Deployment Diagrams (2/2) Modeling Elements: Node  represents hardware devices or software execution environments; connected through communication paths to create networks of systems. Communication path  an association between nodes through which they are able to exchange messages or signals. Artifact  represents a concrete element in the physical world that is a result of a software development process. Deployment specification  describes the configuration of artifacts deployed on the target nodes.

Modeling Component based Software Systems using UML 2.0 Concluding Remarks UML 2.0 represents the next generation of engineering system and business process modeling. New key features drive the evolutionary step towards the Model-driven Architecture. Support for component-based development. Interplay with CORBA Component Model. Assembly, configuration, and deployment modeling. Undoubtedly, engineers in all disciplines will become more and more dependent on standardized, semantically precise modeling paradigms. UML will continue to evolve as requirements and challenges arise.

Modeling Component based Software Systems using UML 2.0 Questions?