Avancier Read also about ArchiMate’s derived relations and grouping relations Avancier Methods (AM) ArchiMate’s Conceptual Framework 50 questions about the meaning of the diagrams Including diagrams and definitions edited from the ArchiMate 2.1 standard. Copyright © The Open Group, All Rights Reserved. ArchiMate is a registered trademark of The Open Group. Training at http://avancier.website Conceptual Framework ► Part I: The Generic Meta Model ► Part II: The Enterprise Architecture layers ► Part III: Applying the Meta Model to EA layers ► Part IV: Similar concepts in System Theory Training at http://avancier.website Avancier Architects and systems Avancier ► The word “architect” comes from the Greek “master builder”. ► In enterprise and solution architecture frameworks, the buildings are “systems”. ► “Architecture descriptions are formal descriptions of a system.” (ArchiMate® 2.1 Specification, The Open Group.) Training at http://avancier.website Structure v Behaviour Avancier ► “The principal heuristic innovation of the systems approach is what may be called ‘reduction to dynamics’ as contrasted with ‘reduction to components’ ” ► (Laszlo and Krippner.) ► “[Architecture descriptions are] organized in a way that supports reasoning about the structural and behavioral properties of the system and its evolution.” ► (ArchiMate® 2.1) Training at http://avancier.website More on Structure v Behaviour ► Behavioural elements Avancier ► Structural elements ■ describe what a system does ■ are typically called processes or activities ■ and run from start to end (or cyclically). Transient behaviour Activities Events Operations Processes Rules Flows Dynamic behaviour ■ describe what a system is made of ■ are typically called components, actors or roles ■ and are addressable. Persistent structure Actors Entities Objects People Roles Stocks Static components ► Also passive structure elements (objects on which behavior is performed). Training at http://avancier.website ArchiMate generic meta model - overview Avancier ► TOGAF focuses on components that offer services ► But architects have to think also about sequential processes, and how services are presented to consumers via interfaces. ArchiMate 2.1 Behavioural elements Structural elements External users in the environment of the system External view Service “a unit of functionality which provides a certain value.” Interface “a point of access where one or more services are made available to the environment.” Internal view “a unit of activity performed by one or more active structure elements.” e.g. Process or Function “an entity that is capable of performing behavior.” e.g. Component, Role or Actor Training at http://avancier.website ArchiMate generic meta model – in detail Service: a unit of functionality that a system exposes to its environment, hides internal operations, provides a value; accessible through interfaces. Passive structure element: object on which behavior is performed. Avancier Interface: a point of access where services are made available to the environment, provides an external view on the service provider and hides its internal structure. External System Internal Behavior element: a unit of activity performed by Active structure element: an entity one or more active structure elements. capable of performing behavior Training at http://avancier.website Making sense of relations in the generic meta model Avancier What the ArchiMate meta model suggests Seems The more natural statement implied by the text One Service can be assigned from > 1 Interface. Better as One Service can be accessible through > 1 Interface. One Interface can be assigned to > 1 Service. Better as One Interface can give access to > 1 Service. One Interface can compose > only 1 Component? Better as One Interface can be realised by > 1 Component One Component can be composed of > 1 Interface. Better as One Component can realise > 1 Interface. One Component can be assigned to > 1 Function. Better as One Component can perform > 1 Function. One Function can be assigned from > 1 Component? Better as One Function can be performed by > 1 Component ? See note 1. One Service can be realised by > 1 Function OK but See note 2. One Function can realise > 1 Service OK but See note 3 Training at http://avancier.website Aside: on ArchiMate’s 3rd dimension Avancier ► “The ArchiMate Language Primer” by Lankhorst et al. defines three dimensions of system description. ■ behaviour --- structure. ■ internal --- external, also ■ individual --- collective. External Collective Behaviour Structure Individual Internal ► But ArchiMate's general position regarding types and instance is as follows: ► "At the enterprise architecture abstraction level, it is more common to model types rather than instances. ► In most cases [we] model an object type (cf. a UML class), of which several instances may exist. Training at http://avancier.website Conceptual Framework ► Part I: The Generic Meta Model ► Part II: The Enterprise Architecture layers ► Part III: Applying the Meta Model to EA layers ► Part IV: Similar concepts in System Theory Training at http://avancier.website Avancier The focus of enterprise architecture ► The standard says architects are concerned with “informationintensive organisations”. ► That is, businesses where ■ business processes are enabled and supported by ■ information systems that capture and provide business data, which are enabled and supported by ■ a platform of infrastructure technologies. Training at http://avancier.website Avancier Our concern is processes that create and use business data ► “the domain of information-intensive organisations…is the main focus of the language” ■ (The ArchiMate modelling language standard v2.1) ► “EA is the determinant of survival in the Information Age.” ■ (Zachman) ► “Today’s CEOs know that the effective management and exploitation of information through IT is a key factor to business success.” ■ (TOGAF 9.1) ► "companies excel because they've [decided] which processes they must execute well, and have implemented the IT systems to digitise those processes." ■ (Ross, Weill and Robertson) Training at http://avancier.website Avancier ArchiMate says Avancier ► “Architecture descriptions are formal descriptions of a system [and of] information-intensive organisations” where “The ArchiMate Language Primer” “offers products and services to external customers realized in the organization by business processes performed by business actors.” “supports the business layer with application services - realized by (software) applications.” “offers infrastructure services needed to run applications - realized by computer and communication hardware and system software” Training at http://avancier.website Architecture layering Avancier Architecture ArchiMate 2.1 standard says layer “offers products and services to external customers Business realized in the organization by business processes performed by business actors.” “supports the business layer with Applications application services realized by (software) applications.” Infrastructure “offers infrastructure services needed to run applications Core Component and Service elements Business services Actors playing Roles (think business components) Application services Application components Infrastructure services realized by computer and communication System software (think infrastructure components) hardware and system software” Training at http://avancier.website Conceptual Framework ► Part I: The Generic Meta Model ► Part II: The Enterprise Architecture layers ► Part III: Applying the Meta Model to EA layers ► Part IV: Similar concepts in System Theory Training at http://avancier.website Avancier Applying the generic meta model to the 3 architecture layers Passive Structure Behavior Avancier Active Structure Business Service Business Interface Business Process Function Business Role App Service App Interface Business Object Data Object Business Actor Business Applications App Function App Component Infrastructure Service Infrastructure Interface Infrastructure Function (inc. Sys Software & Device) Artifact Training at http://avancier.website Node Infrastructure Technology ArchiMate’s Business layer meta model ► Notice the generic meta model Copyright © 2009-2012 The Open Group, All Rights Reserved. ArchiMate is a registered trademark of The Open Group. Training at http://avancier.website Avancier Event or Process <triggers> Process ► A process ► triggered by an event, ► which proceeds step by step to a conclusion Training at http://avancier.website Avancier Service Interface Process Role Service <realised by> Process ► And Service <encapsulates> Process? ► ArchiMate examples: Policy Creation, Claim Registration, Claim Payment. ► The service contract should define the pre and post conditions of the process Training at http://avancier.website Avancier Service Interface Process Role Service <assigned from> Interface? ► The business service is a business layer entity. ► The web and telephone are infrastructure layer entities. ► This diagram skips over all between these layers. Training at http://avancier.website Avancier Service Interface Process Role What is an interface? Avancier ► “Services are accessible through interfaces, which constitute the external view on the active structural aspect.” ► However, the communication stack has interfaces at many layers ► What is the interface between traffic control and pilot? ► The monitor and control panels they use? ► The Telco mast? Training at http://avancier.website Modelling one layer of a communication stack ► To model a restaurant business, we want to specify ■ specific interfaces (menus) it provides its customers, rather than ■ generic infrastructure interfaces it requires (e.g. telephones, oven controls). ► To model an application, we want to specify ■ specific interfaces (UIs) it offers to its users, rather than ■ generic infrastructure interfaces it requires (HTTP, FTP, TCP, IP, Ethernet). ► Usually, we want to model the interface that a structural component in “this” layer shows or uses directly, rather than something way down the communication stack. Training at http://avancier.website Avancier Interfaces <used by> insurance customers to access the service ► A call centre operator (with a script), addressable using a telephone number ► A web site UI, addressable using a web address Training at http://avancier.website Avancier Service Interface Process Role Interface <composes> Role Role <composed of> Interface ► Interface <is realised by> the Role? ► Interface <encapsulates> the Role? ► Surely a seller is not <composed> of the web and a telephone? Rather, the Role <is instantiated via> the Interface? Training at http://avancier.website Avancier Service Interface Process Role The interfaces used/shown by the insurance seller? ► How is the seller is engaged in the service ■ by messages from the web site? ■ by conversation over the phone or from a call centre? ■ on-line or off-line? Training at http://avancier.website Avancier Service Interface Process Role Interfaces encapsulate roles ► 1:1 relations make for clunky diagrams ► More generally speaking ■ 1 Interface to several Services ■ 1 Role to several Processes ► And often ■ 1 Service to several Interfaces ■ 1 Process to several Roles? Training at http://avancier.website Avancier Service Interface Process Role Role <use> Service Avancier ► Customer Actor <uses> Service ► Surely an Actor is an named Individual? ► And Customer is a Role? Training at http://avancier.website Service Interface Process Role Interface <assigned to> Service ► How Service <assigned to> Interface? ► Or better Service <accessible via> Interface? Training at http://avancier.website Avancier Service Interface Process Role Role <composed of> interface ► Alternatively, Role <provides> Interface? ► Why show the web form as an interface of a seller role rather than a web application? ► Is the seller a user of that application? Training at http://avancier.website Avancier Service Interface Process Role Collaboration <aggregates> Role ► Could this Collaboration be replaced by an aggregate Role? ► Is it played by one Actor? Or two? Avancier Service Interface Process Role Collaboration Training at http://avancier.website ArchiMate’s Application layer meta model ► Notice the generic meta model Avancier Service Interface Function Component Copyright © 2009-2012 The Open Group, All Rights Reserved. ArchiMate is a registered trademark of The Open Group. Training at http://avancier.website What does Function mean? Avancier ► To some - a purpose of a system. Service Interface ► In TOGAF and BSC reference model - a logical component Function Component ■ a logical organisation unit, ■ a business function as opposed to a process. ► In UML and maths - a special kind of process ■ that transforms a set of input values to a set of output values without reference to system state. ► In ArchiMate – is a function ■ a process? ■ a component ■ either or both? Training at http://avancier.website Service <realised by> Function ► Should we read 1 Service to 1 Function to imply the Function is a Process encapsulated by the Service? Training at http://avancier.website Avancier Service Interface Function Component 2 Services <realised by> 1 Function ► Should we read this to imply the Function realises ■ 2 Services in 1 stateful Process? ■ 2 Services that are not related this way? Training at http://avancier.website Avancier Service Interface Function Component Function <assigned from> Component ► What is the difference? ► What is an App Component other than the App Functions it can perform? ► What is an App Function other than a sub component of an App Component? Avancier Service Interface Function Component Explored further in ArchiMate’s derived relations Training at http://avancier.website Service <realised by> Function Interface <composes> Component (composed into?) Avancier Service Interface Function Component ► 1:1 relations make for clunky diagrams ► Generally speaking ■ 1 Interface to several Services. ■ 1 Service to several Interfaces ► And ■ 1 Component to several Functions. ■ 1 Function to several Components? Training at http://avancier.website Service <realised by> Function Interface <composes> Components (composed into?) Avancier Service Interface Function Component ► Interface <composes> Component ► Surely better <realised by>? ► Service <realised by> Function ► OK, probably Training at http://avancier.website A provided Interface should also be a required Interface ► How does the “required interface” cup differ from “used by” arrow? ► Is this the name of ► The Interface? ► One Service? ► A Data flow passed in a Service? Training at http://avancier.website Avancier Service Interface Function Component Interactions - between components in a collaboration Could be defined in a UML sequence diagram? Avancier A somewhat artificial construct ► Interaction ► Collaboration ■ A process? ■ A transient cooperation between components or roles ■ An aggregate of components/roles ■ to which interactions can be attached Are there aggregate Services and Interfaces? Training at http://avancier.website ArchiMate’s Technology (Infrastructure) layer meta model ► Notice the generic meta model Copyright © 2009-2012 The Open Group, All Rights Reserved. ArchiMate is a registered trademark of The Open Group. Training at http://avancier.website Avancier Service Interface Function Node Nodes Avancier ► “A node is defined as a computational resource upon which artifacts may be stored or deployed for execution. ► Nodes come in two flavors ► A device models a physical computational resource, upon which artifacts may be deployed for execution. ► System software is an infrastructural software component running on a device.” Training at http://avancier.website Node: Devices and Networks ► Why are the lines below not included in relations? ► Why (instead) are association lines used in the illustrations? Training at http://avancier.website Avancier Service Interface Function Node Node: System software <assigned to> Device ► “System software represents a software environment for specific types of components and objects that are deployed on it in the form of artifacts” Training at http://avancier.website Avancier Service Interface Function Node Artifact <assigned to> Software System ► “An artifact is defined as a physical piece of data that is used or produced in a software development process, or by deployment and operation of a system.” ► Artifact <realises> Application Component ► What does realisation mean here? ► Why not show the Application Component directly? Training at http://avancier.website Avancier Service Interface Function Node FTP could possibly appear as the name of ► the interface to an FTP server node (system software or device) Avancier FTP Unix server ► a system software component. FTP server ► an artifact deployed to a server node (system software or device) ► an attribute of a data flow between application components FTP server Unix server FTP protocol ► an annotation on a network connection or used by arrow FTP protocol ► an attribute of an service accessible via an interface. Get (via FTP) Copyright Avancier Ltd Get is the Service FTP is the Interface Service <realised by> Infrastructure Function or System Software ► Why does the DBMS have no symbol in the corner? ► Are these Services really Interfaces? Service Interface Function Node ► How does a Software System Function differ from a Component? ► Why show Infrastructure Functions 1-to-1 with Services? Training at http://avancier.website Avancier Infrastructure Usage Viewpoint ► Are these Services really Interfaces? ► Why show Software Systems 1-to-1 with Services? Training at http://avancier.website Avancier Service Interface Function Node “Service” is a very slippery concept Are these Services, Interfaces or Network Connections? Training at http://avancier.website Avancier Service Interface Function Node Questionable use of “Realisation” relation Avancier ► A Software System “realises” an Application Component? ► A hardware Device Node “realises” an Application Component? Is this system software? Should be used by ► Why is only one Communication path shown? Training at http://avancier.website Conceptual Framework ► Part I: The Generic Meta Model ► Part II: The Enterprise Architecture layers ► Part III: Applying the Meta Model to EA layers ► Part IV: Similar concepts in System Theory Training at http://avancier.website Avancier Subject-verb-object grammar, and general system theory Avancier ► ArchiMate’s division into stucture and behaviour was inspired by natural language sentences ■ subject = active structure element ■ verb = behavior element ■ object = passive structure. Verb Subject Service Interface Process Component ► Natural language is fuzzy, and note that one thing can play the role of subject and object in the same sentence. ■ The dog <bit the tail of> itself ► It is arguable that general system theory provides a more secure platform for the generic meta model Training at http://avancier.website Five tenets of general system theory 1 A system description is abstraction. 2 A system is logically bounded within its environment 3 A system interacts with its environment via inputs and outputs 4 Holism: a system’s components are related in structures and interact in processes 5 A system processes information and maintains an internal state “real systems are open to, and interact with, their environments, the arrangement of and relations between the parts which connect them into a whole (cf. holism). system-environment boundary, input, output, process, state, hierarchy, goal-directedness and information. a system is independent of the concrete substance of the elements” Principia Cybernetica Training at http://avancier.website Avancier Environment Desired effects on external entities and activities Inputs Outputs Processes Components State System General system theory concepts - used in the BCS ESA RM Avancier 1 A system description is abstraction. 2 A system is logically bounded within its environment 3 A system interacts with its environment via inputs and outputs Service 5 A system processes information and maintains an internal state Interface System State Process Component Environment 4 Holism: a system’s components are related in structures and interact in processes “real systems are open to, and interact with, their environments, the arrangement of and relations between the parts which connect them into a whole (cf. holism). system-environment boundary, input, output, process, state, hierarchy, goal-directedness and information. a system is independent of the concrete substance of the elements” Training at http://avancier.website Behavioural elements v. Structural elements Avancier “It is the pervading law of all things organic and inorganic, of all things physical and metaphysical, of all things human and all things super-human, of all true manifestations of the head, of the heart, of the soul, that the life is recognizable in its expression, that form ever follows function. This is the law.” American architect Louis Sullivan, 1896. ► Behavioural elements ► named using a verb ► has a start and end in time (and usually repeats). Event/ Service Interface System Process Component Behavior Active Structure ► Structural elements named using a noun ► can be found at an address. Usually, persistent component/roles outlive transient processes. This is not always true, but it is a helpful way of thinking about the structure/behaviour distinction. Training at http://avancier.website A system is encapsulated in an environment Avancier Environment Hot dinners Cold snacks Drinks Order Cook Serve Event/ Service Interface System Process Component Behavior Active Structure Training at http://avancier.website A la carte menu. Table d’hote menu Today’s specials. Waiter Chef Oven Where is the system’s state? Avancier ► The system’s information state ► (its memory, which is updated and referred to by processes) ► contains structured business data objects Object: an item or structure that is used, moved or made by processes Event/ Service Object Passive Structure Interface System Process Component Behavior Active Structure A system processes information and maintains an internal state Training at http://avancier.website System elements are recursive Avancier Environment A system description is abstraction. Event/ Service Object Passive Structure Interface System Process Component Behavior Active Structure Training at http://avancier.website 5 system description entities as Avancier defines them Service: what a client can request to process a specific event or deliver a specific result Object: an item or structure that is used, moved or made by processes Interface: presents services for access by clients Event/ Service Object Passive Structure Interface System Process Component Behavior Active Structure Process: a sequence of activities Component: a subsystem that that respond to an event or meet a performs process steps. service request. Training at http://avancier.website Avancier Beware that “interface” can be interpreted two ways Avancier ► as a passive structural element – e.g. a menu. ► as an active structural element via which services are invoked – e.g. a waiter. External Service Interface menu? waiter? Process Component Behavior Active Structure Internal ► The latter is a special kind of component, a facade component, which shows an interface definition to service consumers. Training at http://avancier.website Interface as a passive structural element Behaviour what the system does External Services: operations clients can request to deliver a result required by external Service entities Internal Process the workings of the Processes: executed step by step system to meet service requests Avancier Structure what the system is made of Interfaces: present services Purely descriptive of services offered accessible by clients. Interface Component Components: subsystems that execute processes. Training at http://avancier.website The menu The waiter who presents the menu Interface as an active structural element Behaviour what the system does External Services: operations clients can request to deliver a result required by external Service entities Internal Process the workings of the Processes: executed step by step system to meet service requests Avancier Structure what the system is made of A façade giving Interfaces: present services component, access to services accessible by clients. Interface Component The waiter* who presents the menu The chef who processes the order Components: subsystems that execute processes. * Not the waiter actor. Rather, that part of the waiter role that is merely a façade. The waiter actor (a person) can play that and play other roles Training at http://avancier.website Aside: further reading Avancier ► For formal yet natural language description of business rules, then ■ try Semantics of Business Vocabulary and Business Rules (SBVR) ■ a standard of the Object Management Group (OMG) ■ part of their Model Driven Architecture (MDA). Perhaps also ORM? http://www.orm.net/pdf/ORM2_TechReport2.pdf ► For an exploration of system theory and how it differs from systems thinking ■ See Systems Theory for Architects at avancier.website Training at http://avancier.website Architecture frameworks ► Avancier Methods are useful with all architecture frameworks that share similar domains and entities Avancier BCS E&SA reference model ArchiMate Language Framework ► http://avancier.co.uk TOGAF The Open Group Avancier Methods CSC’s domains of change (POLDAT) IBM’s view EA EA as Strategy” MIT Training at http://avancier.website
© Copyright 2024