SlideShare a Scribd company logo
Using the UML for Architectural Description

                               Rich Hilliard
                             rh@isis2000.com



 current email: r.hilliard@computer.org


                                Copyright © 1999 by Rich Hilliard
Outline
 •   What is IEEE P1471?
 •   The IEEE P1471 Conceptual Framework
 •   Requirements on Architectural Descriptions
 •   Using the UML in the Context of P1471
 •   Wrap Up




                           Copyright © 1999 by Rich Hilliard
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




                              Copyright © 1999 by Rich Hilliard
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




                         Copyright © 1999 by Rich Hilliard
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




                           Copyright © 1999 by Rich Hilliard
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




                               Copyright © 1999 by Rich Hilliard
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




                             Copyright © 1999 by Rich Hilliard
The P1471 Conceptual Framework (excerpt)
                                  influences                                        has an
            Environment                               System                                        Architecture
                             inhabits




                                                             has 1..*
                                                                                                           described by
                                          1..*
                               is important to                          identifies 1..*
                                                                                                    Architectural
                                                    Stakeholder
                                                                                                    Description


                                          is addressed to
                                                     1..*



                                                                                                    organized by
          1..* has      identifies 1..*                                                             1..*
                                                              selects 1..*


              Concern                            Viewpoint                                   View

                                                                  conforms to
                     used to cover 1..*
                                                                                participates in
                                                                                1..*
                                                                                                       consists of
                                                                                                       1..*
                                                                                                                     1..*


                                                                                                            Model
                                                                  establishes methods for 1..*




                                                 Copyright © 1999 by Rich Hilliard
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




                              Copyright © 1999 by Rich Hilliard
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




                               Copyright © 1999 by Rich Hilliard
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




                              Copyright © 1999 by Rich Hilliard
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




                                Copyright © 1999 by Rich Hilliard
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




                              Copyright © 1999 by Rich Hilliard
Example:
Capability View
                                                           Win95 or
                                          Presentation
                                                           JVM

                                                             <<client-server>>


                                          User Interface
                                                            <<client-server>>



                                             "Raw"
                    <<interface>>
                                            Capability
                     Generalized
                      Capability                             <<client-server>>


                                                                      <<conforms>>   <<interface>>
                                          Data Access                                     DAI
                                                           Data Access
                                                                                      (XML DTD)
                                                           Interface
                                                             <<client-server>>


                                           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



                                               Copyright © 1999 by Rich Hilliard
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




                               Copyright © 1999 by Rich Hilliard
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




                                  Copyright © 1999 by Rich Hilliard
“Viewpoint Scale”:
P1471 is intended to encompass...
                           4+1 View Model:
                           design [logical]
                           process
                           implementation [development]
                           deployment [physical]
                                                                   Zachman (36! Views)
Implicit Structuralism     use case view(point)s
(CMU)                      (Kruchten, Rational)



                                            AF Integrated C2 System
             C4ISR                          capability, data, distribution,
             operational                    security, construction
             technical
             system view(point)s
             (US DOD, Open Group)


                               Copyright © 1999 by Rich Hilliard
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, ...




                               Copyright © 1999 by Rich Hilliard
Enhanced Metamodel
                  Model




                  View                          Viewpoint
                                governs



                                                         uses
                                                         *
                  *

                                                 Diagram
                 Diagram
                                                Technique
                                 guides


                  *


               ModelElement




                          Copyright © 1999 by Rich Hilliard
Wrap Up




 Copyright © 1999 by Rich Hilliard
Fragment of a Big Picture:
  Internet Engine
concern(s)                              viewpoint                                   How is data shared?

              How to build this?
              How to deliver it?                                   Client
                                              How is functionality
                                              procured and packaged?
                                       Capability                                             Data
                                                                                                          view
 Producer                    IE::Capability                                            IE::Data



                                                                      Can this be built?
                     What to build it with?
                                                                   inter-view relationship
                                                                   (e.g., traceability relations)
stakeholder                                    Construction
                                     IE::Construction




                                                Copyright © 1999 by Rich Hilliard
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)




                               Copyright © 1999 by Rich Hilliard

More Related Content

More from Rich Hilliard

Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010
Rich Hilliard
 
3 Talks at WICSA 2008
3 Talks at WICSA 20083 Talks at WICSA 2008
3 Talks at WICSA 2008
Rich Hilliard
 
Using Aspects in Architecture Description
Using Aspects in Architecture DescriptionUsing Aspects in Architecture Description
Using Aspects in Architecture DescriptionRich Hilliard
 
C4ISR architectures and software architectures
C4ISR architectures and software architecturesC4ISR architectures and software architectures
C4ISR architectures and software architectures
Rich Hilliard
 
The architect's job: 1996 version
The architect's job: 1996 versionThe architect's job: 1996 version
The architect's job: 1996 versionRich Hilliard
 
Forces on architecture decisions (WICSA 2012)
Forces on architecture decisions (WICSA 2012)Forces on architecture decisions (WICSA 2012)
Forces on architecture decisions (WICSA 2012)Rich Hilliard
 
All about-ieee-1471
All about-ieee-1471All about-ieee-1471
All about-ieee-1471
Rich Hilliard
 

More from Rich Hilliard (7)

Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010
 
3 Talks at WICSA 2008
3 Talks at WICSA 20083 Talks at WICSA 2008
3 Talks at WICSA 2008
 
Using Aspects in Architecture Description
Using Aspects in Architecture DescriptionUsing Aspects in Architecture Description
Using Aspects in Architecture Description
 
C4ISR architectures and software architectures
C4ISR architectures and software architecturesC4ISR architectures and software architectures
C4ISR architectures and software architectures
 
The architect's job: 1996 version
The architect's job: 1996 versionThe architect's job: 1996 version
The architect's job: 1996 version
 
Forces on architecture decisions (WICSA 2012)
Forces on architecture decisions (WICSA 2012)Forces on architecture decisions (WICSA 2012)
Forces on architecture decisions (WICSA 2012)
 
All about-ieee-1471
All about-ieee-1471All about-ieee-1471
All about-ieee-1471
 

Recently uploaded

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 

Recently uploaded (20)

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 

Using UML for architecture description

  • 1. Using the UML for Architectural Description Rich Hilliard rh@isis2000.com current email: r.hilliard@computer.org Copyright © 1999 by Rich Hilliard
  • 2. Outline • What is IEEE P1471? • The IEEE P1471 Conceptual Framework • Requirements on Architectural Descriptions • Using the UML in the Context of P1471 • Wrap Up Copyright © 1999 by Rich Hilliard
  • 3. 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 Copyright © 1999 by Rich Hilliard
  • 4. 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 Copyright © 1999 by Rich Hilliard
  • 5. 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 Copyright © 1999 by Rich Hilliard
  • 6. 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 Copyright © 1999 by Rich Hilliard
  • 7. 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 Copyright © 1999 by Rich Hilliard
  • 8. The P1471 Conceptual Framework (excerpt) influences has an Environment System Architecture inhabits has 1..* described by 1..* is important to identifies 1..* Architectural Stakeholder Description is addressed to 1..* organized by 1..* has identifies 1..* 1..* selects 1..* Concern Viewpoint View conforms to used to cover 1..* participates in 1..* consists of 1..* 1..* Model establishes methods for 1..* Copyright © 1999 by Rich Hilliard
  • 9. 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 Copyright © 1999 by Rich Hilliard
  • 10. 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 Copyright © 1999 by Rich Hilliard
  • 11. 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 Copyright © 1999 by Rich Hilliard
  • 12. 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 Copyright © 1999 by Rich Hilliard
  • 13. 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 Copyright © 1999 by Rich Hilliard
  • 14. Example: Capability View Win95 or Presentation JVM <<client-server>> User Interface <<client-server>> "Raw" <<interface>> Capability Generalized Capability <<client-server>> <<conforms>> <<interface>> Data Access DAI Data Access (XML DTD) Interface <<client-server>> 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 Copyright © 1999 by Rich Hilliard
  • 15. 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 Copyright © 1999 by Rich Hilliard
  • 16. 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 Copyright © 1999 by Rich Hilliard
  • 17. “Viewpoint Scale”: P1471 is intended to encompass... 4+1 View Model: design [logical] process implementation [development] deployment [physical] Zachman (36! Views) Implicit Structuralism use case view(point)s (CMU) (Kruchten, Rational) AF Integrated C2 System C4ISR capability, data, distribution, operational security, construction technical system view(point)s (US DOD, Open Group) Copyright © 1999 by Rich Hilliard
  • 18. 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, ... Copyright © 1999 by Rich Hilliard
  • 19. Enhanced Metamodel Model View Viewpoint governs uses * * Diagram Diagram Technique guides * ModelElement Copyright © 1999 by Rich Hilliard
  • 20. Wrap Up Copyright © 1999 by Rich Hilliard
  • 21. Fragment of a Big Picture: Internet Engine concern(s) viewpoint How is data shared? How to build this? How to deliver it? Client How is functionality procured and packaged? Capability Data view Producer IE::Capability IE::Data Can this be built? What to build it with? inter-view relationship (e.g., traceability relations) stakeholder Construction IE::Construction Copyright © 1999 by Rich Hilliard
  • 22. 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) Copyright © 1999 by Rich Hilliard