Enterprise Architecture Modelling ArchiMate 3.0.1 & Archi 4.3.1 & TOGAF 9.2 Archi & ArchiMate • Archi is an open source modelling toolkit to create ArchiMate models and sketches. Used by thousands of Enterprise Architects throughout the world. • ArchiMate is an open and independent enterprise architecture (EA) modeling language that provides concepts to support the description, analysis and visualization of relationships within and across different architecture domains. TOGAF • The Open Group Architecture Framework (TOGAF) is a framework for enterprise architecture that provides an approach for designing, planning, implementing, and governing an enterprise information technology architecture. TOGAF is a high level approach to design. • It is typically modeled at four levels: Business, Application, Data, and Technology. EA Libraries • ArchiMate: http://pubs.opengroup.org/architecture/archimate3- doc/toc.html • TOGAF: http://pubs.opengroup.org/architecture/togaf9- doc/arch/index.html • Archi: https://www.archimatetool.com/ The Relationship between the ArchiMate Language and the TOGAF ADM What Does ArchiMate Provide? • A language with concepts to describe architectures • A framework to organize these concepts • A graphical notation for these concepts • A vision on visualization for different stakeholderes • An open standard maintained by The Open Group ArchiMate 1 ArchiMate 2 ArchiMate 3 Top-Level Language Structure Layering of the ArchiMate Language 1. The Business Layer depicts business services offered to customers, which are realized in the organization by business processes performed by business actors. 2. The Application Layer depicts application services that support the business, and the applications that realize them. 3. The Technology Layer depicts technology services such as processing, storage, and communication services needed to run the applications, and the computer and communication hardware and system software that realize those services. Physical elements are added for modeling physical equipment, materials, and distribution networks to this layer. The ArchiMate Core Framework Aspects • The Active Structure Aspect, which represents the structural elements (the business actors, application components, and devices that display actual behavior; i.e., the “subjects” of activity). • The Behavior Aspect, which represents the behavior (processes, functions, events, and services) performed by the actors. Structural elements are assigned to behavioral elements, to show who or what displays the behavior. • The Passive Structure Aspect, which represents the objects on which behavior is performed. These are usually information objects in the Business Layer and data objects in the Application Layer, but they may also be used to represent physical objects. Who – How - What Active structure Passive structure Behavior Subject Verb Object Use of Colors and Notational Cues In the metamodel pictures within this standard, shades of grey are used to distinguish elements belonging to the different aspects of the ArchiMate framework, as follows: • White for abstract (i.e., non-instantiable) concepts • Light grey for passive structures • Medium grey for behavior • Dark grey for active structures Use of Colors and Notational Cues In ArchiMate models, there are no formal semantics assigned to colors and the use of color is left to the modeler. However, they can be used freely to stress certain aspects in models. For instance, in many of the example models presented in this standard, colors are used to distinguish between the layers of the ArchiMate Core Framework, as follows: • Yellow for the Business Layer • Blue for the Application Layer • Green for the Technology Layer Use of Colors and Notational Cues The standard notation also uses a convention with the shape of the corners of its symbols for different element types, as follows: • Square corners are used to denote structure elements. • Round corners are used to denote behavior elements. • Diagonal corners are used to denote motivation elements. Behavior and Structure Elements Behavior and Structure Elements Active Structure Elements • Active structure elements are the subjects that can perform behavior. • These can be subdivided into internal active structure elements; i.e., the business actors, application components, nodes, etc., that realize this behavior, and external active structure elements; i.e., the interfaces that expose this behavior to the environment. • An interface provides an external view on the service provider and hides its internal structure. Active Structure Elements • An internal active structure element represents an entity that is capable of performing behavior. • An external active structure element, called an interface, represents a point of access where one or more services are provided to the environment. • Active structure elements are denoted using boxes with square corners and an icon in the upper-right corner, or by the icon on its own. Behavior Elements • Behavior elements represent the dynamic aspects of the enterprise. Similar to active structure elements, behavior elements can be subdivided into internal behavior elements and external behavior elements; i.e., the services that are exposed to the environment. • An internal behavior element represents a unit of activity performed by one or more active structure elements. • An external behavior element, called a service, represents an explicitly defined exposed behavior. Behavior Elements • Behavior elements are denoted in the standard iconography using boxes with round corners and an icon in the upper-right corner, or by the icon on its own. Behavior Elements • In addition to this, a third type of behavior element is defined to denote an event that can occur; for example, to signal a state change. • An event is a behavior element that denotes a state change. Passive Structure Elements • Passive structure elements can be accessed by behavior elements. • A passive structure element is a structural element that cannot perform behavior. Active structure elements can perform behavior on passive structure elements. • Passive structure elements are often information or data objects, but they can also represent physical objects. Specializations of Structure and Behavior Elements Generic Collaboration and Interaction Notation • A collaboration is an aggregate of two or more active structure elements, working together to perform some collective behavior. • An interaction is a unit of collective behavior performed by (a collaboration of) two or more active structure elements. Specializations of Structure and Behavior Elements Generic Process and Function Notation • A process represents a sequence of behaviors that achieves a specific outcome. • A function represents a collection of behavior based on specific criteria, such as required resources, competences, or location. Motivation Elements • The core elements of the ArchiMate language focus on describing the architecture of systems that support the enterprise. • They do not cover the elements which, in different ways, drive the design and operation of the enterprise. These motivation aspects correspond to the “Why” column of the Zachman framework. • A motivation element is an element that provides the context of or reason behind the architecture of an enterprise. Overview of Motivation Elements Strategy Elements Composite Elements • Composite elements consist of other concepts, possibly from multiple aspects or layers of the language. • Grouping and location are generic composite elements. Composite elements can themselves aggregate or compose other composite elements. Grouping • The grouping element aggregates or composes concepts that belong together based on some common characteristic. • The grouping element is used to aggregate or compose an arbitrary group of concepts, which can be elements and/or relationships of the same or of different types. • An aggregation or composition relationship is used to link the grouping element to the grouped concepts. Example: Grouping Location • A location is a place or position where structure elements can be located or behavior can be performed. • The location element is used to model the places where (active and passive) structure elements such as business actors, application components, and devices are located. This is modeled by means of an aggregation relationship from a location to structure element. • A location can also aggregate a behavior element, to indicate where the behavior is performed. This element corresponds to the “Where” column of the Zachman framework Relationships • Structural relationships, which model the static construction or composition of concepts of the same or different types. • Dependency relationships, which model how elements are used to support other elements. • Dynamic relationships, which are used to model behavioral dependencies between elements. • Other relationships, which do not fall into one of the above categories. Overview of Relationships Structural Relationships Composition • Indicates that an element consists of one or more other concepts. Structural Relationships Aggregation • Indicates that an element groups a number of other concepts. Structural Relationships Assignment • Expresses the allocation of responsibility, performance of behavior, or execution. Structural Relationships Realization • Indicates that an entity plays a critical role in the creation, achievement, sustenance, or operation of a more abstract entity. Dependency Relationships Serving • Models that an element provides its functionality to another element. Dependency Relationships Access • Models the ability of behavior and active structure elements to observe or act upon passive structure elements Dependency Relationships Influence • Models that an element affects the implementation or achievement of some motivation element. Dynamic Relationships Triggering • Describes a temporal or causal relationship between elements. Dynamic Relationships Flow • Transfer from one element to another. Other Relationships Specialization • Indicates that an element is a particular kind of another element. Other Relationships Association • Models an unspecified relationship, or one that is not represented by another ArchiMate relationship. Other Relationships Junction • Used to connect relationships of the same type. Derivation Rule for Structural and Dependency Relationships The structural and dependency relationships can be ordered by ‘strength’. Structural relationships are ‘stronger’ than dependency relationships, and the relationships within these categories can also be ordered by strength: • Influence (weakest) • Access • Serving • Realization • Assignment • Aggregation • Composition (strongest) Derived Structural and Dependency Relationship Motivation Elements Metamodel Element, Definition, Notation Element, Definition, Notation Example: Stakeholder, Driver, and Assessment Relationships between Motivation Elements and Core Elements Strategy Elements Metamodel Element, Definition, Notation Example: Strategy Elements Relationships with Motivation and Core Elements Business Layer Metamodel Element, Definition, Notation Element, Definition, Notation Element, Definition, Notation Business Active Structure Elements Business Behavior Elements Business Passive Structure Elements Business Composite Element: Product Application Layer Metamodel Element, Definition, Notation Element, Definition, Notation Application Active Structure Elements Application Behavior Elements Application Passive Structure Elements Technology Layer Metamodel Element, Definition, Notation Element, Definition, Notation Element, Definition, Notation Technology Active Structure Elements Technology Behavior Elements Technology Passive Structure Element: Artifact Physical Elements Metamodel Element, Definition, Notation Physical Elements Relationships between Business Layer and Application and Technology Layer Elements Relationships between Application Layer and Technology Layer Elements Implementation and Migration Elements Metamodel Element, Definition, Notation Example: Implementation and Migration Elements Cross-Aspect Dependencies