# Generalised Enterprise Reference Architecture and Methodology

Generalised Enterprise Reference Architecture and Methodology (GERAM) is a generalised enterprise architecture framework for enterprise integration and business process engineering. It identifies the set of components recommended for use in enterprise engineering.
This framework was developed in the 1990s by a joint task force of both the International Federation of Automatic Control (IFAC) and the International Federation of Information Processing (IFIP) on enterprise architectures for enterprise integration. The development started with the evaluation of then-existing frameworks for enterprise application integration, which was developed into an overall definition of a so-called "generalised architecture".

## Overview

One of the basics of GERAM is that enterprise modelling was seen as the major issue in enterprise engineering and integration. It contained several of building blocks, in which the methodologies and the corresponding languages have been implemented, such as:
* Enterprise modelling tools (GEMT) to support the enterprise integration process.
* Ontological theories (OT),
* Generic enterprise models (GEMs) and
* Generic modules (GMs)
The building blocks were designed to support the modelling process by providing means for more efficient modelling.
The resulting enterprise model (EM) represents all or part of the enterprise operation. These models will allow simulation of operational alternatives and thereby their evaluation leading. GERAM provides a generic description of all the elements recommended in enterprise engineering and integration.
Generalised Enterprise Reference Architecture and Methodology (GERAM) is an enterprise-reference architecture that models the whole life history of an enterprise integration project from its initial concept in the eyes of the entrepreneurs who initially developed it, through its definition, functional design or specification, detailed design, physical implementation or construction, and finally operation to obsolescence. The architecture aims to be a relatively simple framework upon which all the functions and activities involved in the aforementioned phases of the life of the enterprise-integration project can be mapped. It also will permit the tools used by the investigators or practitioners at each phase to be indicated. The architecture defined will apply to projects, products, and processes; as well as to enterprises.

## History

Generalised Enterprise Reference Architecture and Methodology (GERAM) was developed in the 1990s by an IFAC/IFIP Task Force on Architectures for Enterprise Integration, which consisted of Peter Bernus, James G. Nell and others. The IFAC/IFIP Task Force on Architectures for Enterprise Integration was established in 1990 and has studied enterprise-reference architectures ever since.
The task force established the requirements to be satisfied by candidate enterprise-reference architectures and their associated methodologies to fulfill the needs of industry for such aids to enterprise integration. The result has been called GERAM, for "Generalized Enterprise-Reference Architecture and Methodology", by the Task Force. The Task Force has shown that such an architecture is feasible and that several architectures presently available in the literature can already or potentially can fulfill such requirements.
The development of enterprise-reference architecture has evolved from the development of Design Methodology for Advanced Manufacturing Systems in the 1980s, such as CIMOSA, the Open System Architecture for CIM. The GERAM framework was first published by Peter Bernus and Laszlo Nemes in 1994.

## Topics
### Components

The eight main components, as shown in figure 1 are:
* Generic Enterprise Reference Architecture (GERA): Defines the enterprise related generic concepts recommended for use in enterprise integration projects. These concepts include enterprise systems life cycle; business process modeling; modeling languages for different users of the architecture (business users, system designers, IT modeling specialists, others); integrated model representation in different model views.
* Generic Enterprise Engineering Methodologies (GEEM): Describe the generic processes of enterprise integration. These methodologies may be described in terms of process models with detailed instruction for each step of the integration process.
* Generic Enterprise Modeling Languages (GEML): Define the generic constructs (building blocks) for enterprise modeling adapted to the different needs of people creating and using enterprise models.
* Generic Enterprise Modeling Tools (GEMT): Define the generic implementation of enterprise-integration methodologies and modeling languages and other support for creation and use of enterprise models.
* Enterprise Models (EM): Represents the enterprise operation. These models will be represented using generic modeling language constructs.
* Ontological Theories (OT): Formalise the most generic aspects of enterprise-related concepts in terms of essential properties and axioms.
* Generic Enterprise Models (GEMs): Identify reference models (partial models) which capture concepts common to many enterprises. GEMs will be used in enterprise modeling to increase modeling process efficiency.
* Generic Modules (GMs): Identify generally applicable products to be employed in enterprise integration (e.g. tools, integrating infrastructures, others.).

### Generic Enterprise Reference Architecture

Generic Enterprise Reference Architecture (GERA) defines the enterprise related generic concepts recommended for use in enterprise integration projects. These concepts include life cycle; enterprise entity types, enterprise modelling with business process modelling; integrated model representation in different model views and modelling languages for different users of the enterprise architecture (business users, system designers, IT modelling specialists, among others).

#### Life-Cycle Concept

Provides for the identification of the life-cycle phases for any enterprise entity from entity conception to its final end. The Figure 2: GERA Life-Cycle Concept, shows the GERA life cycle phases of enterprise entities. A total of 9 life cycle phases has been defined.
* Identification phase allows the identification of the enterprise business or any part of it in terms of its relation to both its internal and external environment. This includes the definition general commitments of the integration or engineering activities to be carried out in relevant projects.
* Concept phase provides for the presentation of the management visions, missions, values, operational concepts (build/buy, etc.), policies, plus others.
* Requirement phase allows the description of operational processes and collection of all their functional, behavioural, informational and capability requirements.
* Design phase is the specification of operational system with all its components satisfying the above requirements. Process and resources alternatives may be specified which provide operational alternatives to be used during the operation.
* Implementation phase describes the real operational system which may deviate from the designed system due to enterprise preferences or availability of components.
* Build phase supports the system manifestation, physical implementation of resources, testing and validation for the designed processes and the subsequent release for operation.
* Operation phase employs the released operational processes and the provided resources to support the life cycle phases of the enterprise products.
* System Change/Re-Engineering phase allows to modify or re-engineer the operational processes according to newly identified needs or capabilities provided by new technologies.
* End of Life phase supports the recycling or disposal of the operational system at the ending of its use in the enterprise operation. This phase has to provide concepts for recycling and/or disposal of all or part of the system.

#### Enterprise Entity Type Concept

Identifies entity types to be used in enterprise engineering and enterprise integration. Adopting a recursive view of integration altogether five entity types with their associated life-cycles can be identified. The recursiveness of the first four entity types can be demonstrated by identifying the role of the different entities, their products and the relations between them. Figure 3: GERA Enterprise Entity Concept, shows the GERA life cycle phases of enterprise entities. A total of 9 life cycle phases has been defined.
* Strategic Enterprise Management Entity (type 1): defines the necessity and the starting of any enterprise engineering effort.
* Enterprise Engineering/Integration Entity (type 2): provides the means to carry out the enterprise entity type 1. It employs methodologies (type 5 entity) to define, design, implement and build the operation of the enterprise entity (type 3 entity).
* Enterprise Entity (type 3): is the result of the operation of entity type 2. It uses methodologies (entity type 5) and the operational system provided by entity type 2 to define, design, implement and build the products (services) of the enterprise (type 4 entity).
* Product Entity (type 4): is the result of the operation of entity type 3. It represents all products (services) of the enterprise.
* Methodology Entity (type 5): represents the methodology to be employed in any enterprise entity type.
Figure 3 represents the chain of enterprise entity developments. The type 1 entity will always start creation of any lower level entity by identifying goal, scope and objectives for the particular entity. Development and implementation of a new enterprise entity (or new business unit) will then be done by a type 2 entity; whereas a type 3 entity will be responsible for developing and manufacturing a new product (type 4 entity). With the possible exception of the type 1 entity all enterprise entities will have an associated entity-life cycle. However, it is always the operational phase of the entity-life cycle in which the lower entity is defined, created, developed and built. The operation itself is supported by an associated methodology for enterprise engineering, enterprise operation, product development and production support
Figure 3 also shows the life cycle of the methodology (type 5 entity) and the process model developed during the early life cycle phases of the methodology. However, there must be a clear distinction between the life cycle of the methodology with its different phases and its process model. The latter is used to support the operational phase of a particular enterprise entity. The operational relations of the different entity types are also shown in Figure 4: GERA Enterprise Entity Concept (Type 3), which demonstrates the contributions of the different entities to the type 3 entity life-cycle phases. The manufacturing entity itself produces the enterprise product in the course of its operation phase (type 3 entity).

#### Enterprise Modelling concept

Enterprise Modelling concept provides process models of enterprise operations. Process oriented modelling allows to represent the operation of enterprise entities and entity types in all its aspects: functional, behaviour, information, resources and organisation. Models which can be used for decision support by evaluating operational alternatives or for model driven operation control and monitoring.
To hide complexity of the resulting model it will be presented to the user in different sub-sets (views). This view concept is shown in Figure 5: GERA Generic Reference Architecture Concept. It is applicable during all phases of the life cycle. Please note that the views will be generated from the underlying integrated model and any model manipulation. That means any change being done in one particular view will be reflected in all relevant aspects of the model. The GERA life cycle model has defined four different views: function, information, decision/organisation and resource/structure. Other views may be defined if needed and supported by the modelling tool. In addition, the life cycle model of GERA provides for two different categories of modelling: operation control and customer-service related.

#### Modelling Language concept

Modelling languages increase the efficiency of enterprise modelling. In addition they allow a common representation of the enterprise operation. Modelling languages have to accommodate different users of enterprise models; for example, business users, system designers, and IT-modelling specialists.
Modelling languages have to support the modelling of all entity types across all phases of their respective life cycles. In addition, modelling languages have to provide generic constructs as well as macro constructs (GEMs) built from generic ones. The latter will further enhance modelling productivity.
Figure 5 shows the reference architecture for those enterprise entity life cycle phases which require generic constructs. The partial level shows the place of the GEMs in the reference architecture. The particular level indicates the life cycle phases of the enterprise entity itself.

### Generic Enterprise Engineering Methodologies

Generic Enterprise engineering methodologies (GEEM) describe the process of enterprise integration and, according to the GERAM framework (Figure 1), will result in a model of the enterprise operation. The methodologies will guide the user in the engineering task of enterprise modelling and integration. Different methodologies may exist which will guide the user through the different tasks required in the integration process.
Enterprise-engineering methodologies should orient themselves on the life-cycle concept identified in GERA and should support the different life cycle phases shown in Figure 2. The enterprise integration process itself is usually directed towards the enterprise entity type 3 (see above) operation and carried out as an enterprise engineering task by an enterprise entity type 2 (Figures 2 and 4). The integration task may start at any relevant engineering phase (indicated in Figure 6: Enterprise Engineering and the Life-Cycle Concept.) of the entity life cycle and may employ any of those phases. Therefore, the processes relating to the different phases of enterprise engineering should be independent of each other to support different sequences of engineering tasks.
Enterprise engineering methodologies may be described in terms of process models with detailed instruction for each step of the integration process. This allows not only a very good representation of the methodology for its understanding, but provides for identification of information to be used and produced, resources needed and relevant responsibilities to be assigned for the integration process. Process representation of methodologies should employ the relevant modelling language discussed below.

### Generic Enterprise-Modelling Language

Generic enterprise modelling languages (GEML) define generic constructs (building blocks) for enterprise modelling. Generic constructs which represent the different elements of the operation improve both modelling efficiency and model understanding. These constructs have to be adapted to the different needs of people creating and using enterprise models. Therefore, different languages may exist which accommodate different users (e.g. business users, system designers, IT modelling specialists, others).
Modelling the enterprise operation means to describe its processes and the necessary information, resources and organisational aspects. Therefore, modelling languages have to provide constructs capable of capturing the semantics of enterprise operations. This is especially important if enterprise models are to support the enterprise operation itself.
Model-based decision support and model-driven operation control and monitoring require modelling constructs which are supporting the end users and which represent the operational processes according to the users perception.
Modelling languages increase the efficiency of enterprise modelling. In addition they allow a common representation of the enterprise operation. Modelling languages have to support the modelling of all entity types across all phases of their respective life cycles. In addition, modelling languages have to provide generic constructs as well as macro constructs (GEMs) build from generic ones. The latter will further enhance modelling productivity.

### Generic Enterprise-Modelling Tool

Generic enterprise modelling tools (GEMT) define the generic implementation of the enterprise integration methodologies and modelling languages and other support for creation and use of enterprise models. Modelling tools should provide user guidance for both the modelling process itself and for the operational use of the models. Therefore, enterprise modelling tools designs have to encompass not only the modelling methodology, but should provide model enactment capability for simulation of operational processes as well. The latter should also include analysis and evaluation capabilities for the simulation results.

### Enterprise Models

Enterprise models (EMs) represent the enterprise operation mostly in the form of business processes. However, in certain cases other representations may be suitable as well. Business processes will be represented using the generic modelling-language constructs defined above for the relevant engineering methodology. Enterprise operations are usually rather complex and therefore difficult to understand if all relevant aspects of the operation are represented in a common model. To reduce the model complexity for the user, different views should be provided which allow the users only to see the aspect of concern.

### Ontological Theories

Ontological theories (OT) formalise the most generic aspects of enterprise related concepts in terms of essential properties and axioms. Ontological theories may be considered as 'meta-models' since they consider facts and rules about the facts and rules of the enterprise and its models.

### Generic Enterprise Models

Generic enterprise models (GEMs) identify reference models (partial models) which capture concepts common to many enterprises. GEMs will be used in enterprise modelling to increase modelling process efficiency.

### Generic Modules

Generic Modules (GMs) identify generally applicable products to be employed in enterprise integration (e.g. tools, integrating infrastructures, others.).