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 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 2 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 3 Architecture Description Standard SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved ISO/IEC 42010:2011 (f/k/a IEEE 1471) 4 5 Refined Viewpoint Metamodel has 1..* 1..* Architecture Stakeholder Architecture Scenario defines Name :text Description :memo 1..* Architecture Concern contextualizes Name :text 1..* Description :memo 1..* Name :text 1..* Description :memo 1..* 1..* frames uses 1..* Model Kind specifies Required Elements :memo Required Attributes :memo 1..* 1..* Required Relationships :memo Constraints :memo 1..* Architecture View point Name :text Description :memo Modeling Language :text Display Notes :memo Alternate Depiction :memo «enumeration» View point Type Image Viewpoint Type Narrative Diagram 1 Catalog Matrix 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 Identify Architecture Stakeholders Design Architecture Viewpoint Interview Architecture Stakeholder Update Architecture Metamodel :Architecture Viewpoint Librarian :Architecture Framework Manager :Architecture Framework Designer :Architecture Capability Gather Modeling Requirements – Workflow SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved Elicit Architecture Scenarios Describe Architecture Concerns Identify Architecture Viewpoints Viewpoints Selected Store Viewpoint Retrieve Viewpoint Viewpoint does not exist 7 Describe Stakeholders and Scenarios «Architecture Scena... «Architecture Scena... «defines» «Architecture Stakeholder» Solution Architecture Manager Dev elop Proj ect Architecture Blueprint Understand Proj ects Impact on Application Landscape «defines» «Architecture Scena... «Architecture Stakeholder» Solution Architect «defines» Understand Current Application Architecture Landscape «defines» «defines» «Architecture Stakeholder» Application Ow ner «Architecture Scena... «Architecture Scena... Understand Proj ects Impact on Ow ned Applications Understand Target Application Architecture Landscape 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? «defines» «Architecture Sce... Dev elop Proj ect Architecture Blueprint «Architecture Stakeholder» Solution Architect What is the nature of the interactions amongst the applications within scope of this project? Which interactions between applications are 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» Proj ect Application List Which applications are impacted by this project? notes «frames» What is the anticipated impact of this project on each application? «frames» In the context of this project, which applications interact with which other applications? «Architecture Sce... Dev elop Proj ect Architecture Blueprint What is the nature of the interactions amongst the applications within scope of this project? Viewpoint Type: Grid Modeling Language: N/A Required Elements: Application, Project Required Attributes: Application.Name, Application.Owner, Application.ProjectImpactType, Project.Name Required Relationships: Project Impacts Application Constraints: Applications impacted by specified Project Alternate Depiction: Show using extended UML Class diagram with Applications and Projects and their relationships. «frames» «Architecture Viewpoint» Logical Application Diagram «frames» notes Which interactions between applications are impacted by this project? «frames» What are the proposed changes to existing application interactions? Which interactions are being removed by this project? «frames» «frames» «frames» 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 Viewpoint Type: Diagram Modeling Language: UML Component Required Elements: Application Required Attributes: Application.Name, Application.ProjectImpactType, ApplicationInteraction.InteractionType, ApplicationInteraction.ProjectImpactType Required Relationships: Application Interacts With Application Constraints: Applications impacted by specified Project Display Notes: • Emphasize project impact for each application by changing application border color/width • Emphasize application interaction types with different line styles 10 AD Elements and Correspondences SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved ISO/IEC 42010:2011 11 Update Architecture Metamodel interacts with 0..* 0..* Person Application owned by Application Interaction Interaction Type :Application Interaction Type Name :text Description :memo SOX Compliance :Yes/No Target Lifecycle State :Application Lifecycle State Business Criticality :Business Criticality Level 0..* First Name :text 1 Last Name :text Phone Number :text Email Address :text 1 1..* Proj ect Application Impact impacts Proj ect Interaction Impact Project Impact Type :Project Application Interaction Impact Type Project Impact Level :Project Application Impact Level 0..* Proj ect impacts «enumeration» Application Interaction Type Batch Real-Time has project manager 0..* Name :text Description :int Start Date :date End Date :date «enumeration» Proj ect Application Impact Lev el «enumeration» Proj ect Interaction Impact Type No Impact Validate Impact Verify Impact Impacted Impacted Added Removed Not Impacted SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved has architect «enumeration» Application Lifecycle State «enumeration» Business Criticality Lev el Proposed Provisional Standard Contained Retired Safety-critical Mission-critical Essential Regular Non-critical 1 12 Project Application Impact Diagram «Application» Online Learning Platform «Application» Customer Portal «Application» Salesforce CRM Ev ent Management Salesforce Integration «Application» My Resource Portal «Project» «Application» Attendee DB «Application» Salesforce Ev ent Management Legend Validate Verify Impacted SATURN 2013 – How to Build, Implement, and Use an Architecture Metamodel Copyright © 1998-2013, Armstrong Process Group, Inc., All rights reserved «Application» Online Payment System Portal Integration «Project» 13 Logical Application Diagram «Application» Online Learning Platform tags Business Criticality = Mission-Critical Business Owner = Thomas Anderson SOX Compliance = No Target Lifecycle State = Standard «Application» Customer Portal tags Business Criticality = Essential Business Owner = Susan Johnson SOX Compliance = No Target Lifecycle State = Provisional «Application» My Resource Portal «Application» Online Payment System tags Business Criticality = Mission-Critical Business Owner = Mary Wentworth SOX Compliance = Yes Target Lifecycle State = Standard «Application» Salesforce CRM tags Business Criticality = Essential Business Owner = Robert Marley SOX Compliance = Yes Target Lifecycle State = Standard «Application» Attendee DB Legend Validate Verify «Application» Salesforce Ev ent Management Impacted tags Business Criticality = Essential Business Owner = David Howe SOX Compliance = Yes Target Lifecycle State = Provisional Impacted Added Removed Not Impacted tags Business Criticality = Essential Business Owner = Susan Johnson SOX Compliance = No Target Lifecycle State = Retired 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 tags Business Criticality = Essential Business Owner = David Howe SOX Compliance = No Target Lifecycle State = Retired 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 14 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