Using the UML for Architectural Description Rich Hilliard

Similar documents
Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

Lecture 13 Introduction to Software Architecture

Rich Hilliard 20 February 2011

Architecture Viewpoint Template for ISO/IEC/IEEE 42010

Ch 1: The Architecture Business Cycle

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

OT TU1 Software Architecture Using Viewpoints and Perspectives

A Comparative Analysis of Architecture Frameworks

Unified Modeling Language (UML)

Architecture. Readings and References. Software Architecture. View. References. CSE 403, Spring 2003 Software Engineering

Architectural Blueprint

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

ISO/IEC JTC1/SC7 /N3848

Architecture. CSE 403, Winter 2003 Software Engineering.

SoberIT Software Business and Engineering Institute. SoberIT Software Business and Engineering Institute. Contents

The Process of Software Architecting

Software Architectures

WHAT IS SOFTWARE ARCHITECTURE?

Conflicting Perspectives on Architecting Software In Search of a Practical Solution

Ch 1: The Architecture Business Cycle

<<Subsystem>> Software Architecture Document

Enterprise Architect. User Guide Series. Domain Models

Spemmet - A Tool for Modeling Software Processes with SPEM

LOG8430: Architecture logicielle et conception avancée

ISO/IEC/ IEEE INTERNATIONAL STANDARD. Systems and software engineering Architecture description

Object Orientated Analysis and Design. Benjamin Kenwright

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

REENGINEERING SYSTEM

Modelling in Enterprise Architecture. MSc Business Information Systems

What is Software Architecture

Architecture of Business Systems Architecture and the Role of the Architect

Creating and Analyzing Software Architecture

A Conceptual Model of the UML

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Requirements to models: goals and methods

Introduction. ADL Roles

Meta Architecting: Towered a New Generation of Architecture Description Languages

Pattern-Based Architectural Design Process Model

Introduction to Modeling

SC32 WG2 Metadata Standards Tutorial

On the link between Architectural Description Models and Modelica Analyses Models

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

Hierarchical Multi-Views Software Architecture

Modeling variability with UML

What is your definition of software architecture?

A Comparative Analysis of Architecture Frameworks

CHAPTER 9 DESIGN ENGINEERING. Overview

Describing Information Systems Moving Beyond UML

1 Motivation and Background

Software Architecture Extraction

On ADLs and tool support for documenting view-based architectural descriptions

Every Architecture Description Needs a Framework: Expressing Architecture Frameworks Using ISO/IEC 42010

Modeling Software Architecture with UML

Chapter One: Overview

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Allenhouse Institute of Technology (UPTU Code : 505) OOT Notes By Hammad Lari for B.Tech CSE V th Sem

Software architecture: Introduction

For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop.

Software Architecture

A Lightweight Language for Software Product Lines Architecture Description

Software Architectures. Lecture 6 (part 1)

Model Driven Development of Component Centric Applications

Architectures in Context

Software Architecture: A quick journey

Every Architecture Description Needs a Framework: Expressing Architecture Frameworks Using ISO/IEC 42010

It Is What It Does: The Pragmatics of Ontology for Knowledge Sharing

Calgary: 10th Floor Bankers Hall, West Tower 888-3rd Street SW, Calgary, AB T2P 5C5 p: f:

Beginning To Define ebxml Initial Draft

Chapter 6 Architectural Design. Chapter 6 Architectural design

The ATCP Modeling Framework

Software Architecture

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN

Integrating TOGAF, Zachman and DoDAF Into A Common Process

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

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

IBM Rational Software Architect

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

Metamodeling for Business Model Design

Implementing a Real-Time Architecting Method in a Commercial CASE Tool

Designing Component-Based Architectures with Rational Rose RealTime

Database Instance And Relational Schema Design A Fact Oriented Approach

3rd Lecture Languages for information modeling

Towards Decision Centric Repository of Architectural Knowledge

Reconciling the Needs of Architectural Description with Object-Modeling Notations

Quality-Driven Architecture Design Method

Model Driven Architecture - The Vision

Service Vs. System. Why do we need Services and a Services Viewpoint in DM2 and DoDAF? Fatma Dandashi, PhD March 4, 2011

Recommendations for Architecture- Centric Software Supporting Self- Adaptive Behavior

Solution Architecture Template (SAT) Design Guidelines

Model Driven Development Unified Modeling Language (UML)

Software Architecture Viewpoint Models: A Short Survey

Dimensions for the Separation of Concerns in Describing Software Development Processes

Why Consider Implementation-Level Decisions in Software Architectures?

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

Presenter: Dong hyun Park

The Big Happy Family of System Architecture Approaches. Chris Phillips 14 Jun 2018

Acme: a Language for Architecture Exchange and Analysis. Talk Outline

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Object Oriented Model of Objectory Process

System Name Software Architecture Description

Transcription:

Using the UML for Architectural Description Rich Hilliard rh@isis2000.com

Outline What is IEEE P1471? The IEEE P1471 Conceptual Framework Requirements on Architectural Descriptions Using the UML in the Context of P1471 Wrap Up

What is IEEE P1471? IEEE Draft Recommended Practice for Architectural Description Begun in August 1995 by the IEEE Architecture Working Group 30+ participants 150+ international reviewers Recently completed balloting by IEEE to be issued by IEEE Computer Society http://www.pithecanthropus.com/~awg

IEEE Goals for P1471 Focus on the architecture of software-intensive systems Establish a conceptual framework and vocabulary for talking about architectural issues of systems Identify and promulgate sound architectural practices Allow for the evolution of those practices as relevant technologies mature

Ingredients of IEEE P1471 A normative set of definitions for terms like architecture, architectural description, architectural view A conceptual framework establishing these concepts in the context of use of architectural descriptions for system construction, analysis and evolution A set of requirements on an architectural description of a system

Using P1471 IEEE P1471 is a recommended practice One kind of IEEE standard P1471 applies to Architectural Descriptions How to describe an architecture Not a standard architecture, or architectural process, or method P1471 is written in terms of shall, should and may ADs may be checked for conformance to the recommended practice P1471 does not define any conformance of systems, projects, organizations, processes, methods, or tools

What is an Architectural Description? In P1471, an architectural description is a collection of products to document an architecture P1471 does not specify the format or media for an architectural description Notation-independent P1471 does specify certain (minimal) required content of an AD reflecting current practices and consensus

The P1471 Conceptual Framework (excerpt) Environment influences System has an Architecture inhabits has 1..* described by 1..* is important to Stakeholder identifies 1..* Architectural Description is addressed to 1..* 1..* has identifies 1..* selects 1..* organized by 1..* Concern Viewpoint View used to cover 1..* conforms to participates in 1..* consists of 1..* 1..* establishes methods for 1..* Model

P1471 Requirements: Stakeholders and Concerns ADs are interest-relative: An AD identifies the system s stakeholders and their concerns Concerns form the basis for completeness: An AD addresses all stakeholders concerns

P1471 Requirements: Views Multiple views: An AD consists of one or more views A view is a representation of a whole system from the perspective of a set of concerns Views are themselves modular: A view may contain one or more architectural models, allowing a view to utilize multiple notations Inter-view consistency: An AD documents any known inconsistencies among the views it contains

P1471 Requirements: Viewpoints Views are well-formed: Each view corresponds to exactly one viewpoint A viewpoint is a pattern for constructing views Viewpoints define the rules on views No fixed set of viewpoints: P1471 is agnostic about where viewpoints come from Concerns drive viewpoint selection: Each concern is addressed by an architectural view Viewpoints are first-class: Each viewpoint used in an AD is declared before use

Declaring a Viewpoint Each viewpoint is specified by: Viewpoint name The stakeholders addressed by the viewpoint The stakeholder concerns to be addressed by the viewpoint The viewpoint language, modeling techniques, or analytical methods used The source, if any, of the viewpoint (e.g., author, literature citation) A viewpoint may also include: Any consistency or completeness checks associated with the underlying method to be applied to models within the view Any evaluation or analysis techniques to be applied to models within the view Any heuristics, patterns, or other guidelines which aid in the synthesis of an associated view or its models

A Viewpoint Example Viewpoint name: Capability Stakeholders: The client, producers, developers and integrators Concerns: How is functionality packaged? How is it fielded? What interfaces are managed? Viewpoint language Components and their dependencies (UML component diagrams) Interfaces and their attributes (UML class diagrams) Source: also known as Static, Application, Structural viewpoints

Example: Capability View Presentation Win95 or JVM <<client-server>> User Interface <<client-server>> <<interface>> Generalized Capability "Raw" Capability <<client-server>> Data Access Data Access Interface <<conforms>> <<client-server>> <<interface>> DAI (XML DTD) Data Store SQL The Capability View covers all system functionality for operating on data Capabilities are fielded using a 5-tier layered organization with interfaces between pairs of layers Each layer is a capability Entire stack is a deployable capability Capabilities can serve other capabilities

Library Viewpoints Viewpoints are not specific to a system; unlike the stakeholders and views Hence, an architect ought to be able to reuse viewpoint declarations Equivalently, viewpoints can be included by reference It would be nice to have a standard way to document viewpoint declarations in UML

Example: Viewpoint Name: Structural Concerns: What are the computational elements of a system and their organization? What element comprise the system? What are their interfaces? How do they interconnect? What are the mechanisms for interconnection? Viewpoint language: Components, connectors, ports and roles, attributes Analytic Methods: Attachment, type consistency Based on: Acme: An Architecture Description Interchange Language, Garlan, Monroe, Wile, Proceedings of CASCON 97, November 1997

Viewpoint Scale : P1471 is intended to encompass... Implicit Structuralism (CMU) 4+1 View Model: design [logical] process implementation [development] deployment [physical] use case view(point)s (Kruchten, Rational) Zachman (36! Views) C4ISR operational technical system view(point)s (US DOD, Open Group) AF Integrated C2 System capability, data, distribution, security, construction

Approaches to Using the UML in the Context of P1471 Out of the Box Pre-existing diagram types are all applicable to architectural description Lightweight Extensions Tagged values, stereotypes, constraints are typically used per viewpoint View and viewpoint notions are between extension and profile in their granularity UML as Integration Framework View and viewpoint are nascent concepts in UML but not reflected in the metamodel Outside the UML Ontology Some concerns architects worry about fall outside UML ontology Security, Reliability, Commerce, Management,...

Enhanced Metamodel Model View governs Viewpoint * Diagram guides Diagram Technique uses * * ModelElement

Wrap Up

Fragment of a Big Picture: Internet Engine concern(s) viewpoint How is data shared? Producer How to build this? How to deliver it? Capability IE::Capability Client How is functionality procured and packaged? IE::Data Data view stakeholder What to build it with? Construction Can this be built? inter-view relationship (e.g., traceability relations) IE::Construction

General Issues (Outside of just P1471) Are components (e.g. ACME) UML components? Traceability mechanisms between views (within and between viewpoints) Variation á la product lines v. individual systems First-class constraints (rather than constraints as annotations) {see ISAW-3 paper} Finer control over things like Visibility, Inheritance the built-ins are fine for design, programming level Declaring new diagram types Capture of fragments (i.e., patterns and styles)