How to Build, Implement, and Use an Architecture Metamodel

SATURN 2013 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 , 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  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 :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