ArchiMate realisation relations
Transcription
ArchiMate realisation relations
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 3 Analysis of realisation 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 What does realisation mean in ArchiMate? ► “realization links a logical entity with a more concrete entity that realizes it". ► Realisation means one thing realises another thing? ► You can can’t define a word using the word. ► There are several possible interpretations of realisation in general, and realisation in ArchiMate. Training at http://avancier.website Avancier PART ONE: Realisation in general ► PART ONE: Realisation in general ► PART TWO: Realisation in ArchiMate Training at http://avancier.website Avancier Abstraction scales Avancier ► Every system description is an abstraction that steps away from a relatively complex reality to a simpler model of it. ► ArchiMate has notations for three of the four abstraction scales below Omission Elaboration Composition Generalisation Idealisation Composite Generalised thing Logical Part Specialised thing More concrete Decomposition Specialisation Realisation Training at http://avancier.website “Logical” can be interpreted several ways ► Purely conceptual description ■ unrelated to computing (computation-independent) ■ E.g. business/conceptual data model ► Technology-independent description ■ independent of specific technology (platform-independent) ■ E.g. logical data model of a specific database ► Simple, elegant description ■ De-duplicated, regardless of optimisation to meet NFRs ■ E.g. normalised logical data model ► External description ■ An interface or service contract that encapsulates internal content or workings Training at http://avancier.website Avancier “Realisation” can be interpreted several ways ► Concept to ► Reality ► External to ► Internal Avancier Logical aspect or thing Role Business Function Logical Application Component Physical aspect or thing Actor Organisation Unit Physical Application Component External aspect or thing Service Interface Internal aspect or thing Process Component Training at http://avancier.website Realisation as extension of description Avancier ► Generalisation and specialisation boxes specify different properties of one object. The specialisation extends the properties of the generalisation Generalisation Mammal Network Node Specialisation Human Firewall ► Realisation can be seen as a kind of specialisation, in which an abstract logical description is extended with physical details Logical Description Interface Business Object Physical Description Component Data Object Training at http://avancier.website Realisation as implementation of description Avancier ► Realisation can be seen as a kind of implementation, ► whereby a system description is implemented as a concrete reality in an oprational system Description Type Role Class Data Object Real thing Instance Actor Object Row in Table Training at http://avancier.website From extension to implementation ► Extension of description Avancier Logical Description Interface Service Data Object Physical Description Class Process Type Database Table Description Class Process Type Database Table Real thing Object Process Performance Row in Table ► Implementation of description Training at http://avancier.website Realisation by degrees Avancier ► Traditionally, IS/IT methods refer to ■ a scale in description from conceptual to logical to physical, and then ■ an implementation step from abstract description to concrete reality. Idealisation Conceptual Model Logical Model Physical Model Real or Concrete Material Realisation Training at http://avancier.website “links a logical entity with a more concrete entity". ► So more concrete can mean ■ More elaborate, technology-specific (perhaps executable) description ■ Operational reality, working instances, rather than description Avancier Idealisation Conceptual Model Logical Model Physical Model Real or Concrete Material ► In the latter sense, an entity is either abstract or concrete; there are no degrees of concreteness. Training at http://avancier.website Realisation Realisation in the Zachman Framework? Avancier ► A curious alignment of architecture domain with level of idealisation Levels in Zachman framework Realisation Human Ideal Business Conceptual System Logical Technology Physical Technology Real Realisation ► Surely we can take conceptual, logical and physical views of each layer – business, system and technology? Training at http://avancier.website Realisation in TOGAF? Avancier ► The pattern in the TOGAF meta model is that ■ logical components realise (meaning, are encapsulated by) services ■ physical components realise (meaning implement) logical components Business Service Business Function, Role Organisation, Actor Information System Service Information Systems Logical Application Component Physical Application Component Platform Service Technology Logical Technology Component Physical Technology Component Training at http://avancier.website PART TWO: Realisation in ArchiMate ► PART ONE: Realisation in general ► PART TWO: Realisation in ArchiMate Training at http://avancier.website Avancier ArchiMate uses realisation relations Avancier Service ► Within one view and layer Process Business ► And between layers Business Object Application Data Object ► This last looks odd wrong (tbd). Infrastructure Training at http://avancier.website Application Component System Software Service <realised by> Process ► The service contract should define the pre and post conditions of the process Training at http://avancier.website Avancier Service Interface Process Role Interface <composes> Role ► Interface <is realised by> Role? Training at http://avancier.website Avancier Service Interface Process Role Interface <composes> Role ► Interface <realised by> Role? Training at http://avancier.website Avancier Service Interface Process Role Service <realised by> Function Training at http://avancier.website Avancier Service Interface Function Component Interface <composes> Components (composed into?) Avancier Service Interface Function Component ► Surely better ► Interface <realised by> Component? Training at http://avancier.website Interface <provided by> Component ► And also: Interface <realised by> Component? Training at http://avancier.website Avancier Service Interface Function Component Infrastructure Usage Viewpoint ► Are these Services really Interfaces? ► Clunky to show Software Systems 1-to-1 with Services 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 An example Avancier A driver uses an interface to a motor car component The interface provides access to several services (accelerate, brake, steer, change gear). The motor car realises the interface. The car’s internal components (pedals, engine, brakes, steering wheel, gear lever, gears) cooperate in internal processes (invisible to the driver) to realise the car’s services. Training at http://avancier.website Driver Motor Car Interface Motor Car Car Component Remove the interface and the weaker relation applies A car does not realise the driver; it is used by the driver Avancier Driver Motor Car Car Component Training at http://avancier.website Remove the interface and the weaker relation applies A car does not realise the driver; it is used by the driver Avancier Driver Motoring Holiday Motor Car Car Process Car Component What realises a motoring holiday? The car realises a sequence of car process service requests made by the driver to car components (via interfaces) during the process of a motoring holiday. Training at http://avancier.website Remove the interface and the weaker relation applies An application does not realise the user, it is used by the user Avancier User Use Case Application Automated Service Application Component What realises a use case? The app realises a sequence of automated service requests made by the user to app components and system software (via interfaces) during the process of a motoring holiday. Training at http://avancier.website Surely this diagram is wrong? Avancier System software does not realise the application, it is used by the application Is this system software? Training at http://avancier.website Should be used by Again, this must surely be wrong? Avancier ► Can an entity in a lower layer realise an entity in a higher layer? Should be used by Should be used by ► It is one thing to say a component realises services requested of it ► It is another to say a server component realises a client component ► If I ask you the time, you can realise the service request I make, but you do not realise me (the service requester) Training at http://avancier.website