How to Build, Implement, and Use an Architecture Metamodel
SATURN 2013 Software Architecture Conference Minneapolis, MN Armstrong Process Group, Inc. www.aprocessgroup.com
Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 2 Objectives Review industry standard for architecture descriptions Stakeholders, concerns, viewpoints, and views Introduce method for defining architecture viewpoints based on stakeholder scenarios and concerns Based on Architecture Description UML Profile Describe techniques for designing custom metamodel for rendering required architecture views
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 3 About APG APG’s mission is to “Align information technology and systems engineering capabilities with business strategy using proven, practical processes delivering world-class results.” Industry thought leader in enterprise architecture, business modeling, process improvement, systems and software engineering, requirements management, and agile methods Member and contributor to UML, SysML, SPEM, UPDM at the Object Management Group (OMG) TOGAF and ArchiMate at The Open Group Eclipse Process Framework (EPF) at the Eclipse Foundation IBM Advanced Business Partner Sparx Systems Value-Added Reseller
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 4 Architecture Description Standard
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel ISO/IEC 42010:2011 (f/k/a IEEE 1471) Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 5 Refined Viewpoint Metamodel
has
1..* 1..*
Architecture Stakeholder Architecture Architecture Concern defines Scenario contextualizes Name :text Name :text Description :memo 1..* 1..* Name :text 1..* 1..* Description :memo Description :memo 1..* 1..* uses frames
1..* 1..* «enumeration» Viewpoint Type Architecture Viewpoint Model Kind Image Narrative Required Elements :memo specifies Name :text Viewpoint Type Diagram Required Attributes :memo Description :memo 1..* 1..* 1 Catalog Required Relationships :memo Modeling Language :text Matrix Constraints :memo Display Notes :memo Alternate Depiction :memo Dashboard Roadmap Graph
Describes the “Who”, “Why”, “What” and “How” for architecture modeling
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 6 Gather Modeling Requirements – Workflow
Identify Architecture Interview Architecture Elicit Architecture Describe Architecture Identify Architecture Stakeholders Stakeholder Scenarios Concerns Viewpoints Manager :Architecture Framework
Viewpoints Selected :Architecture Capability
Design Architecture Update Architecture Store Viewpoint Retrieve Viewpoint Viewpoint Metamodel Designer Designer Librarian Librarian
:Architecture:Architecture Viewpoint Viewpoint Viewpoint does not exist :Architecture:Architecture Framework Framework
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 7 Describe Stakeholders and Scenarios
«Architecture Scena... «Architecture Scena... Dev elop Project Understand Projects Architecture Blueprint «defines» Impact on Application «Architecture Stakeholder» Landscape Solution Architecture Manager «defines» «Architecture Scena... Understand Current «defines» Application Architecture «Architecture Stakeholder» Landscape Solution Architect
«defines»
«Architecture Scena... «Architecture Scena... Understand Projects Understand Target Application Architecture «defines» Impact on Owned «Architecture Stakeholder» Applications Landscape Application Owner
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 8 Describe Architecture Concerns
Which applications are impacted by this project?
What is the anticipated impact of this project on each application?
In the context of this project, which applications interact with which other applications?
What is the nature of the interactions amongst the «Architecture Sce... applications within scope of this project? Dev elop Project «defines» Architecture Blueprint
«Architecture Stakeholder» Which interactions between applications are Solution Architect impacted by this project?
What are the proposed changes to existing application interactions?
Which interactions are being removed by this project?
Which interactions are being added by this project?
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 9 Identify Architecture Viewpoints
«Architecture Viewpoint» Which applications are impacted by this project? Project Application List notes «frames» Viewpoint Type: Grid Modeling Language: N/A What is the anticipated impact of this project on Required Elements: Application, Project Required Attributes: Application.Name, each application? «frames» Application.Owner, Application.ProjectImpactType, Project.Name Required Relationships: Project Impacts In the context of this project, which applications Application interact with which other applications? Constraints: Applications impacted by specified Project Alternate Depiction: Show using extended UML Class diagram with Applications and Projects and What is the nature of the interactions amongst the their relationships. «frames» «Architecture Sce... applications within scope of this project? Dev elop Project «Architecture Viewpoint» Architecture Blueprint Logical Application Diagram «frames» Which interactions between applications are notes impacted by this project? Viewpoint Type: Diagram Modeling Language: UML Component «frames» Required Elements: Application Required Attributes: Application.Name, What are the proposed changes to existing Application.ProjectImpactType, application interactions? «frames» ApplicationInteraction.InteractionType, ApplicationInteraction.ProjectImpactType Required Relationships: Application Interacts With Application Which interactions are being removed by this «frames» Constraints: Applications impacted by specified project? Project Display Notes: • Emphasize project impact for each application «frames» by changing application border color/width Which interactions are being added by this project? • Emphasize application interaction types with different line styles
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 10 AD Elements and Correspondences
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel ISO/IEC 42010:2011 Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 11 Update Architecture Metamodel
interacts with
0..* 0..* Application Person owned by Name :text First Name :text Description :memo 1 Last Name :text Application Interaction SOX Compliance :Yes/No Phone Number :text Interaction Type :Application Interaction Type Target Lifecycle State :Application Lifecycle State Email Address :text Business Criticality :Business Criticality Level 1 1 0..* 1..*
Project Application Impact impacts Project Interaction Impact Project Impact Level :Project Application Impact Level Project Impact Type :Project Application Interaction Impact Type 0..*
Project has project manager impacts 0..* Name :text Description :int has architect Start Date :date End Date :date
«enumeration» «enumeration» «enumeration» «enumeration» «enumeration» Application Lifecycle Business Criticality Application Project Application Project Interaction Impact State Lev el Interaction Type Impact Lev el Type Proposed Safety-critical Batch No Impact Impacted Provisional Mission-critical Real-Time Validate Impact Added Standard Essential Verify Impact Removed Contained Regular Impacted Not Impacted Retired Non-critical
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 12 Project Application Impact Diagram
«Application» Online Learning Platform
«Application» Customer Portal
«Application» Salesforce CRM
Ev ent Management Portal «Application» Salesforce Integration My Resource Portal Integration «Project» «Project»
«Application» Attendee DB
«Application» Salesforce Ev ent Management Legend Validate
Verify «Application» Impacted Online Payment System
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 13 Logical Application Diagram
«Application» «Application» Online Learning Platform Customer Portal
tags tags Business Criticality = Mission-Critical Business Criticality = Essential Business Owner = Thomas Anderson Business Owner = Susan Johnson SOX Compliance = No SOX Compliance = No Target Lifecycle State = Standard Target Lifecycle State = Provisional
«Application» My Resource Portal
«Application» tags Online Payment System Business Criticality = Essential «Application» Business Owner = Susan Johnson tags Salesforce CRM SOX Compliance = No Business Criticality = Mission-Critical Target Lifecycle State = Retired Business Owner = Mary Wentworth tags SOX Compliance = Yes Business Criticality = Essential Target Lifecycle State = Standard Business Owner = Robert Marley SOX Compliance = Yes Target Lifecycle State = Standard
«Application» Legend Attendee DB Validate tags Verify «Application» Business Criticality = Essential Business Owner = David Howe Impacted Salesforce Event Management SOX Compliance = No tags Target Lifecycle State = Retired Impacted Business Criticality = Essential Business Owner = David Howe Added SOX Compliance = Yes Removed Target Lifecycle State = Provisional Not Impacted Real-Time: Solid Line Batch: Dashed Line
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 14 Conclusion Exploit existing architecture standards for determining how to model (and how much) for what purpose Use conventional modeling techniques for understanding stakeholder concerns and designing architecture viewpoints And for designing custom metamodel Implement custom metamodel using UML profiles Basis for consistent semantics and tool usage
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved 15 Q&A
http://www.aprocessgroup.com
Thanks for your attention and participation!
"APG", the APG logo, "proven practical process" (and its graphic representation), ATPL, EA-In-A-Box are trademarks of Armstrong Process Group, Inc. The Open Group, The Open Group Architecture Framework, TOGAF, and ArchiMate are trademarks or registered trademarks of The Open Group in the United States and other countries. Object Management Group, OMG, Model Driven Architecture, MDA, OMG SysML, Unified Modeling Language, and UML are trademarks or registered trademarks of the Object Management Group, Inc. in the United States and other countries. Sparx Systems and Enterprise Architect are trademarks or registered trademarks of Sparx Systems Pty Ltd. Other company, product, or service names may be trademarks or service marks of others.
SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved