Knowledge mechanisms in IEEE 1471 & ISO/IEC Rich Hilliard

Similar documents
IEEE s Recommended Practice for Architectural Description

Extended Enterprise Architecture ViewPoints Support Guide

Architecture Development Methodology for Business Applications

VIEWPOINTS ON INSPIRE ARCHITECTURE

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

3D architecture viewpoints on service automation

Motivation Issues in the Framework of Information Systems Architecture

MOTIVATION ISSUES IN THE FRAMEWORK OF INFORMATION SYSTEMS ARCHITECTURE

Aligning Architecture work with Agile Teams

This document is a preview generated by EVS

Requirements Validation and Negotiation

The Role of the Architect. The Role of the Architect

This document is a preview generated by EVS

Architecture Practice: a fundamental discipline for information systems

Systems and software engineering Software life cycle processes

Architecture. By Glib Kutepov Fraunhofer IESE

Analyzing a Process Profile for Very Small Software Enterprises

Essentials of Business Architecture Roger Burlton

What is SQA? Software Quality Assurance. Quality Concepts. Quality Concept (cont.)

Mapping of Fusion Process Model onto ISO/IEC 12207:2008

Why Document the Architecture? EEC 421/521: Software Engineering. Design Process. Thinking About Design. Stakeholder Communication.

Architecture Documentation for Agile Development

An architecture for defining the processes of the software and. systems life cycles

Fine-Grain Process Modelling

MDM M NUR RAZIA I MOHD SURA R DI

Agile versus? Architecture

1. INTRODUCTION BACKGROUND ENTERPRISE SOA BENEFITS AND TECHNOLOGIES AN ENTERPRISE SOA FRAMEWORK...6

Toward Practical Application of Formal Methods in Software Lifecycle Processes

Project Management CTC-ITC 310 Fall 2018 Howard Rosenthal

Establishing a Common Vocabulary for Software Organizations Understand Software Processes

A Proposed Measurement Role in the Rational Unified Process and its Implementation with ISO 19761: COSMIC-FFP

TOGAF Foundation Exam

Designing Software Ecosystems. How Can Modeling Techniques Help? Mahsa H. Sadi, Eric Yu. 1 Introduction. 2 Modeling Requirements.

IEEE and Agile Process- Create Architecture Description through Agile Architecture Framework

Chapter 1. Contents. What is Software Engineering 9/9/13. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO USE SOFTWARE PRODUCTS

Software Engineering

Architecture Practice Study for C4I Systems Development

Book Outline. Software Testing and Analysis: Process, Principles, and Techniques

Chapter 1. What is Software Engineering. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Requirements Engineering and Software Architecture Project Description

More Insights without More Effort

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Bridging the Gap between Business Strategy and Software Development

Computer Science Technical Report. Modeling Approach Comparison Criteria for MODELS 2011 CMA Workshop

The Product and the Process The Product The Evolving Role of Software Software Software: A Crisis on the Horizon Software Myths Summary References

Model-Driven Architecture, Processes and Methodology from the Perspective of the Modeling Discipline

8/30/2010. Lecture 1. Topics covered. Functional and non-functional requirements The software requirements document Requirements specification

Chapter 1. Contents. 1.1 What is Software Engineering! Solving Problems. Objectives. What is Software Engineering

ENTERPRISE SOFTWARE ARCHITECTURE: A CASE FOR DEVELOPMENT OF ENTERPRISE-WIDE INFORMATION SYSTEMS

A Business-Driven Web Service Creation Methodology

A META-MODEL FOR THE SPATIAL CAPABILITY ARCHITECTURE

August 2015 Matthew Leach Senior Director, Global Business Analysis Practice NTT DATA, Inc.

Management of Organizational Competencies

Enterprise Architecture: an ideal discipline for use in Supply Chain Management

Introduction to Software Architectures

Open Group Guide. Using TOGAF to Define and Govern Service-Oriented Architectures

TOGAF 9 Training: Foundation

S & T Management Core Competency Profile

Performance Skills Leader. Individual Feedback Report

FOUNDATIONAL CONCEPTS FOR MODEL DRIVEN SYSTEM DESIGN

Real Reuse for Requirements

Computational Complexity and Agent-based Software Engineering

IIBA Global Business Analysis Core Standard. A Companion to A Guide to the Business Analysis Body of Knowledge (BABOK Guide) Version 3

REQUIREMENTS ENGINEERING LECTURE 2018/2019. Dr. Jörg Dörr. Introduction. Fraunhofer IESE

Product Line Engineering Lecture PL Architectures I

The Method Framework for Engineering System Architectures (MFESA)

[2010] IEEE. Reprinted, with permission, from Didar Zowghi, A Framework for the Elicitation and Analysis of Information Technology Service

Are Life Cycles Still Relevant?

Modelling Languages Restrictions: A Comparative Study of ArchiMate and SOMF

Soft Skills for Enterprise Architects: The Key to Unlocking Value from EA

Extending Software Architecting Processes with Decision-Making Activities

Requirements Engineering. Andreas Zeller Saarland University

RESOLVING CONFLICT ASSURED FOR TODAY S LEADERS

The Future of Business Analysis. October 2013

PROJECT MANAGEMENT PROCESSES AND THE ACHIEVEMENT OF ORGANIZATIONAL STRATEGIES THE CASE OF TELECOMM. OPERATOR

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

The Importance of Architecture Governance for Achieving Operationally Responsive Ground Systems

Innovation and Technology Management

STRATEGY 4.0. Whitepaper: Strategy 4.0. Moving from Crystal Ball strategies to big data and the use of predictive analytics for strategic planning

Bachelor s Degree in Law. 2 nd YEAR International Public Law I ECTS credits: 4,5 Semester: 1. Teaching objectives

The Competing Values Culture Assessment

Putting our behaviours into practice

Managing Collaborations

Solutions Manual. Object-Oriented Software Engineering. An Agile Unified Methodology. David Kung

TOGAF Foundation. Part I: Basic Concepts 1 /

ON THE SYSTEMIC ENTERPRISE ARCHITECTURE METHODOLOGY (SEAM)

TOGAF 9.1 in Pictures

Leo Slegers (ING), Guy Rackham(BIAN), Hans Tesselaar (BIAN) BIAN Introduction Webinar, July 20, Datum, Referent

Business modelling with UML

Best Practice Information Aids for CMMI SM -Compliant Process Engineering

Applying System Dynamics Modeling to SMC Acquisitions

TOGAF - The - The Continuing Story Story

The Sector Skills Council for the Financial Services Industry. National Occupational Standards. Risk Management for the Financial Sector

Assessor Training Syllabus

A Standards Foundation for Interoperability

A BPM Methodology What Is It and Why It Is Important

Methodological approaches based on business rules

Transcription:

Knowledge mechanisms in IEEE 1471 & ISO/IEC 42010 Rich Hilliard r.hilliard@computer.org

Two Themes Knowledge mechanisms in IEEE 1471 and ISO/IEC 42010 2000 edition and on-going revision Toward a (bigger) picture of Architectural Knowledge (AK)

IEEE Std 1471 First formal standard for architecture description (2000) Now an international standard (2007) IEEE & ISO joint revision as ISO/IEC 42010 Systems and Software Engineering Architecture Description

IEEE Std 1471 Built on an explicit ontology* Focused on descriptions not concepts the map is not the territory the blueprint is not the architecture *Ontology, epistemology, meta model, conceptual framework,...

Knowledge mechanisms knowledge mechanism: a means of capturing knowledge just as we distinguish Architecture from Architecture Description let s distinguish what we know from how we capture it

Standards Every standard is a knowledge mechanism A standard reflects a community consensus, creating a filter on the world through its definitions and establishing rules on what to do when its definitions apply

Core Ontology As important as what an ontology says is what it omits. IEEE 1471 takes no stand on what is a system.

Mechanisms (Architecture-related) System Concerns Stakeholders Views and Models Viewpoints and Model Types

System Concerns area of interest in a system pertaining to developmental, technological, business, operational, organizational, political, regulatory, social, or other influences important to one or more of its stakeholders

Separation of Concerns Let me try to explain to you, what to my taste is characteristic for all intelligent thinking. It is, that one is willing to study in depth an aspect of oneʼs subject matter in isolation for the sake of its own consistency, all the time knowing that one is occupying oneself only with one of the aspects. We know that a program must be correct and we can study it from that viewpoint only; we also know that it should be efficient and we can study its efficiency on another day, so to speak. In another mood we may ask ourselves whether and if so: why, the program is desirable. But nothing is gained on the contrary! by tackling these various aspects simultaneously. It is what I sometimes have called the separation of concerns, which, even if not perfectly possible, is yet the only available technique for effective ordering of one's thoughts, that I know of. This is what I mean by focussing oneʼs attention upon some aspect : it does not mean ignoring the other aspects, it is just doing justice to the fact that from this aspectʼs point of view, the other is irrelevant. It is being one- and multiple-track minded simultaneously. E Dijkstra, 1974

System Concerns: Examples functionality, performance, reliability, security, information assurance, complexity, evolvability, openness, concurrency, autonomy, cost, schedule, quality of service, flexibility, agility, modifiability, modularity, inter-process communication, deadlock, state change, subsystem integration, data accessibility, distribution, persistence, safety,...

Stakeholders (of a system) Individual, team, organization (or classes thereof) holding concerns with respect to a system

Role of Stakeholders and Concerns architecture: fundamental conception of a system in its environment... Stakeholders + Concerns = Environment

Viewpoints viewpoint: the conventions for constructing, interpreting and using a view A way of looking at a system

Specifying a Viewpoint concerns framed by the viewpoint languages, notations, model types used methods, heuristics, patterns, guidelines new: correspondences (with other viewpoints)

Viewpoints A Viewpoint is the legend for the map that is the View We invented viewpoints because we couldn t pick one set Inspired by Ross 1977, RM-ODP, Finkelstein et al.

Viewpoints à la Finkelstein et al. Each viewpoint is composed of the following components, which we call slots: a representation style, the scheme and notation by which the viewpoint expresses what it can see; a domain, which defines that part of the world delineated in the style; a specification, the statements expressed in the viewpointʼs style describing particular domains; a work plan, describing the process by which the specification can be built; a work record, an account of the history and current state of the development. A. Finkelstein, et al., Viewpoints: a framework for integrating multiple perspectives in system development, International Journal of Software Engineering and Knowledge Engineering, 1992.

Architecture models A view is composed of models determined by the viewpoint Models allow sharing between views

New mechanisms (proposed) models and model types: finer-grain reuse model correspondences and rules: linking views codifying architecture frameworks: for large-scale reuse and sharing rationale and decision capture

Model Correspondences In 2000 edition, we knew consistency between views is an issue but did not specify a mechanism Revision introduces model correspondences and model correspondences rules

Architecture frameworks architecture framework: conventions and common practices for architecture description established within a specific domain or stakeholder community Most architects work within a framework determined by their organization or client

Specifying an architecture framework a set of concerns typical stakeholders viewpoints model correspondence rules

Conformance An architecture description can conform An architecture framework can conform An AD can conform to a framework Proposed: architecture viewpoint architecture description language

Rationale and Decision Capture

Two AK Myths Architecture descriptions are all about components and connectors Views don t capture decisions

Two AK Myths Components and connectors are one possible viewpoint when using IEEE 1471 Every view shows decisions, assumptions, constraints,... based on the concerns it addresses

Rationale and Decisions Minimal treatment of rationale in 2000 edition We ve learned a lot since then, thanks to SHARK and others! Vague musing during IEEE 1471 development about decisions...

IEEE 1471 (early draft) A very early draft of IEEE 1471 (draft 1.0, dated February 1998) contained a Decision Viewpoint that began: 5.3.8 Decision The decision viewpoint documents the decisions about the selection of elements or their characteristics. This viewpoint records the rationale for architectural choices. Typical models include: Mission utility Cost/Capability tradeoffs Element performance tradeoffs

Architect s Intent View Template: What readers need to know about each view Purpose Scope Selected Viewpoint Key needs Assumptions Key Decisions Commitments Consequences Obligations and Freedoms Open Issues commitments: decisions a designer is not at liberty to change obligations: lower-level decisions a designer must address freedoms: things left to the implementation R. Hilliard and T. B. Rice, Expressiveness in architecture description languages Proceedings of the 3rd International Software Architecture Workshop, 1998. A. Burns and M. Lister, A framework for building dependable systems The Computer Journal, 1991. P.E. London and M. Feather, Implementing specification freedoms Science of Computer Programming, 1982.

Decision and Rationale in 42010 Based on input from SHARK 2007.

Styles of Decision Capture Annotations (as in Hilliard-Rice, 1998) Decision viewpoint: decisions are elements of the view with their relations (as in KCD*) Decision models: require each view to contain a decision model, relate elements of these models as in KCD * Kruchten, Capilla, & Dueñas, The Decision View s Role in Software Architecture Practice, IEEE Software, March/April 2009.

Toward a Bigger Picture of Architectural Knowledge a 6-dimensional Calabi Yau manifold (Wikipedia)

Dimension: Levels System: views, models, correspondence Organization, Community viewpoints, model types correspondence rules,

Dimension: Areas of Interest System Concerns Disciplines, Domains, Implementation Technologies,...

Dimensions: Social and Intentional Stakeholders have concerns Social: actors, roles, duties, institutions,... Intentions: interested in, requires, needs, has as goal, decides,...

Dimension: Forms Declarative (know that): definitions, facts, principles, concepts, models, descriptions, artifacts,... Procedural (know how): strategies, techniques, methods, guidelines,...

Challenge problem

The problem Styles, patterns and viewpoints: how are they the same? different? Compare and contrast as 3 mechanisms in active use for capturing architectural knowledge Extra credit: perspectives, view types

A theory of AK should offer insight into... How are they the same? Are they interchangeable? What are differences? When to use each? Conditions on applicability? How do they interact, compose, interwork?

For more information on IEEE / ISO/IEC 42010 Visit website, join users email group To participate in revision: become an IEEE reviewer, or join your ISO national member body http://www.iso-architecture.org/ieee-1471/

Backups

Architectural Patterns The Name of the pattern The Problem which the pattern attempts to solve The Rationale provides a justification for the pattern The particular Context which the pattern solves a problem Forces (or tradeoffs) The Solution describes the structure and behavior of the result, and/or how to achieve that result Examples (and Visual Analogies) help explain the pattern Resulting Context (or, Force Resolution) explains what forces (issues and properties) the pattern leaves unresolved, and what other patterns might be applied to resolve these remaining issues Source: Gang of 4 book

Architectural Styles Vocabulary: What are the types of elements in the style? What relationships do they have? What are their properties? What are the rules of composition that determine how the vocabulary can be used? Semantics: What computational model do these elements support? Analyses: What forms of analysis are supported by the style? Implementation: What are the implementation strategies that allow one to produce an executable system? Source: Clements et al., Views & Beyond book

Architecture Viewpoints Architectural concerns framed by the viewpoint; Stakeholders to be addressed by the resulting view; Resources: the model types, notations, language, modeling techniques, or analytical methods used; Associated operations: 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; and any heuristics, patterns, or other guidelines which aid in the synthesis of an associated view or its models Source: ISO/IEC WD4 42010

What do we mean, architectural knowledge? Knowledge vs practice: Competence and performance: Things architects need to know