Find this and related slide shows on ArchiMate and TOGAF on this page http://grahamberrisford.com/AM%201%20Methods/6PRODUCTSandTECHNIQUES/AM%20products%20and%20techniques.htm Avancier EA models the enterprise as a system that is stateful and event-driven. System elements are interrelated. Events trigger changes to system state and/or the provision of services to external entities. ArchiMate and TOGAF Core concepts Symbols (boxes & lines) Concept framework Relations 1. order and derivation 2. grouping 3. realisation Diagram types Relations between system elements 1 Order and Derivation of Relations 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 Relations between system elements ► A line between two boxes usually specifies rules for how instances of element types (named in the boxes) are related. ► ArchiMate features a dozen kinds of relation Training at http://avancier.website Avancier Name Access Used by Assignment Association Abstraction relations Commentary Might be labelled create or use. Or create, read, update or delete. the use of services by processes, functions, or interactions and the access to interfaces by roles, components, or collaborations. Many would prefer a “uses" relation in which the arrow points the other way. Notation links units of behavior with active elements (e.g. roles, components) that perform them, or roles with actors that fulfill them. a relationship between objects that is not covered The simplest and arguably most widely useful by another, more specific relationship. relation. Realization The run-time sense (internal realises external) links a logical entity with a more concrete entity that is strongly related to the design-time sense realizes it. (physical realises logical) Specialization indicates that an object is a specialization of another object. Aggregation indicates that an object groups a number of other objects. Composition indicates that an object is composed of one or more An object can be part of only one composition. Else nested boxes other objects. Grouping Flow Behavioural relations Other Definition the access of behavioral concepts to business or data objects. Symbol in UML Not in UML Avancier Different meaning in UML Not in UML - An object can be part of > 1 aggregation. indicates that objects, of the same type or different types, belong together based on some common Could be used to represent aggregation? characteristic. describes the exchange or transfer of, for example, Can represent the movement information or information or value between processes, function, materials. Or energy? interactions, and events. Different meaning in UML Different meaning in UML Triggering describes temporal or causal relationships between processes, functions, interactions, and events. Different meaning in UML Junction used to connect relationships of the same type. Not in UML Training at http://avancier.website Making sense of relations in the meta model Explained earlier Avancier ► The standard’s narrative makes more sense than the meta model App Service One Service can be accessible through > 1 Interface. One Interface can give access to > 1 Service. One Service can be realised by > 1 Function One Function can realise > 1 Service App function App interface One Interface can hide only 1 Component? One Component can be hidden by > 1 Interface. One Component can perform > 1 Function. One Function can be performed by only 1 Component? Training at http://avancier.website App component Ordering of structural relations ► The standard lists seven structural relations in order of “strength” ► Weakest Association Access Used by Realization Assignment Aggregation Composition ► Strongest Training at http://avancier.website Avancier Deriving direct relations from indirect ones ► Given a chain of structural relationships (A to B to C) ► you can directly relate the ends of the chain (A direct to C) ► using the weakest of the indirect relationships. ► E.g. Service to Function to Component. ► You can directly Service to Component using the weakest of the indirect relationships. ► And since the indirect relationships have a direction, ► the derived relationship will be in the same direction. Training at http://avancier.website Avancier An ArchiMate diagram Avancier Read-only Interface Read Asset Service Create Asset Service Modify Asset Interface Update Asset Service Delete Asset Service Read Asset Function Asset Manager Component Modify Asset Function ► Service <realised by> Function <assigned from> Component ► (Notice one Function realises three Services. ► How does this Function differ from a Component?) Training at http://avancier.website Suppose we omit the Functions? Avancier Read-only Interface Read Asset Service Create Asset Service Modify Asset Interface Update Asset Service Delete Asset Service Asset Manager Component ► Service <realised by> Function <assigned from> Component ► Replaced by Service <realised> Component ► Using the “weaker” of the two relations Training at http://avancier.website Suppose we omit the Interfaces? Avancier Read Asset Service Create Asset Service Update Asset Service Delete Asset Service Asset Manager Component ► ► ► ► Derived relationships remove detail, But EA level diagrams usually don't have the detail in the first place! EA diagrams typically omit intermediate entities, So it is normal to start with weak relations, associations may suffice Training at http://avancier.website Note multiple connection paths can yield invalid derivations Read-only Interface Read Asset Service Create Asset Service Modify Asset Interface Update Asset Service Delete Asset Service Read Asset Function Asset Manager Component Modify Asset Function ► There are two paths from Modify Asset Function to an Interface ► A wrongly derived relation would connect it to the Read-only Interface Training at http://avancier.website Avancier Q) Why is Association defined as the weakest relation? ► Associations appear weak in ArchiMate because it has no symbol to specify cardinality or mandatory constraints on a relation. ► (Aside from the cardinality implied by composition.) ► But if the association actually has cardinality and mandatory constraints, then it is strong. ► So ordering the relations (for derivation) based on symbols alone is deceptive. Training at http://avancier.website Avancier Q) Are all relations subtypes of Association? Avancier ► All relations look like associations a diagram, since they connect two boxes. ► But sometimes two boxes specify different aspects of one thing. ► Most obviously, generalisation and specialisation boxes specify different properties of one object. ► You might say the same of idealisation and realisation boxes. ► But the use of realisation in ArchiMate is too vague to be definitive about this (as discussed elsewhere). Training at http://avancier.website Network Node Firewall Logical aspect or thing External aspect or thing Physical aspect or thing Internal aspect or thing Q) How to explain the ordering of structural relations? ► This weak-to-strong order is an intuition based on observation ► But surely there should be a rational explanation for it? ► Weakest Association Access Used by Realization Assignment Aggregation Composition ► Strongest Training at http://avancier.website Avancier Q) What makes "access" stronger than plain "association"? ► How about… ► At design time, Access imposes constraints on the element types (box symbols) that can be related. ► At run time, Access imposes the constraint that an instance of each related element must exist? Training at http://avancier.website Avancier Q) What makes "used by" stronger than "access“? ► How about… ► “Used by” constrains the kinds of behaviour by which the element instances can be related? ► "Access" allows create, read, update and delete functions, but ► “Uses" excludes create and delete services/functions? Training at http://avancier.website Avancier Q) What makes "composition" stronger than "aggregation"? ► Composition ■ specialises or extends the meaning of an aggregate. ■ adds a property – a cardinality constraint - one element can be connected to only one composite at a time. Training at http://avancier.website Avancier Q) Is the order correct and useful? ► I don’t know if completing an analysis along these lines would verify the standard order. ► Perhaps this analysis would shift relations along the order in some defined circumstances. ■ E.g. if associations were named and given cardinality constraints ■ then aggregation might be seen as weakly-defined association. Training at http://avancier.website Avancier And bear in mind Avancier ► Some relations are used within one view ■ (e.g. triggers between process steps) ► Some are used connect one view to another view ■ (e.g. process access to data). ► And different views apply different meanings to the same relations ► E.g. A trigger arrows could be used to show ■ ■ ■ ■ Active structure - start of an object life time Behaviour – start of a process step Passive structure – start (entry point) to an access path Associations in a structural and behaviour models may have different implications. Training at http://avancier.website Nevertheless Avancier ► The stated ordering can be useful in practice, to simplify diagrams. ► Some people draw clunky ArchiMate diagrams, including boxes that are incidental if not redundant to the purpose. Training at http://avancier.website Q) Why does ArchiMate discuss deriving direct relations from indirect ones? ► Drawing direct relations (derived from indirect ones, but often weaker) is a way to simplify EA level diagrams. Read Asset Service Create Asset Service Update Asset Service Delete Asset Service Asset Manager Component ► E.g. omitting the Functions which ArchiMate positions as intermediate entities between Services and Components Training at http://avancier.website Avancier Transferring dynamic relations The standard says the following rules apply. ► “The begin and/or end point of a triggering or flow relationship between behavior elements (e.g., processes or functions) may be transferred to… 1. 2. “services that they realize.” “active structural elements (e.g., business actors or application components) that are assigned to them.” ► The second is questionable, since to trigger means to start something. ► Here, the trigger starts only whatever inside that component is needed to perform the process containing the trigger. ► In more conventional modelling, triggers in behavioural models are likely to appear as flows in structural models. ► See next page for detail… Training at http://avancier.website Avancier Detailed discussion of that last point A process flow diagram is a type, in which a trigger arrow indicates the end of step A and the start of step B. A process flow is an instance of that type, in which the trigger is instantiated as a transfer of control from an instance of step A to an instance of step B. In the latter, the trigger instantiates a process (meaning it causes an instance of process step B to be performed). Traditional modelling distinguishes: (P) behavioural process flow diagrams - which connect process steps by triggers. (C) structural communication diagrams - which connect active components by data flows. Triggers in P often correspond to data flows in C.. A UML sequence diagram is a combination of process flow and data flow diagram. The trigger is at once a trigger and a data flow. There are two kinds of trigger: (T1) A trigger entering an operation (a process step) instantiates a process. (T2) A trigger entering an object (a component) instantiates a component (meaning it causes an instance of the component to be created) and a process. I'd need a convincing example to persuade me it is a good idea to transfer triggers from behavioural diagrams into a structural diagrams. Training at http://avancier.website Avancier Q) Why do EA-level diagrams often feature derived relations? ► Sure, derived relationships remove detail ► But EA level diagrams are usually very abstract ■ “considerably more abstract than solution architecture” says TOGAF ► EA diagrams typically omit intermediate entities ► So it is normal to start with weak relations Training at http://avancier.website Avancier In practice Avancier ► People can and do use the ArchiMate notation at any level. ► Even at the solution architecture level most diagrams they show me are cartoons. ■ They use the symbols as they use Power Point symbols. ■ They draw strong relations where they should draw weak. ■ They draw 1-1-1 relation chains where the intermediate elements are redundant. ■ They confuse structural elements with behavioural elements (function with component, service with interface). ■ They draw aggregation to express a 1-to-many cardinality notation (which it doesn't). ► This makes it harder to teach them the basic concepts. Training at http://avancier.website
© Copyright 2024