Extended Enterprise Modeling Language (EEML) in software engineering is a modelling language used for Enterprise modelling across a number of layers.
Extended Enterprise Modeling Language (EEML) is a modelling language which combines structural modelling, business process modelling, goal modelling with goal hierarchies and resource modelling. It was intended to bridge the gap between goal modelling and other modelling approaches. According to Johannesson and Söderström (2008) "the process logic in EEML is mainly expressed through nested structures of tasks and decision points. The sequencing of tasks is expressed by the flow relation between decision points. Each task has an input port and the output port being decision points for modeling process logic".[1]
EEML was designed as a simple language, making it easy to update models. In addition to capturing tasks and their interdependencies, models show which roles perform each task, and the tools, services and information they apply.
Extended Enterprise Modeling Language (EEML) is from the late 1990s, developed in the EU project EXTERNAL as extension of the Action Port Model (APM) by S. Carlsen (1998).[2] The EXTERNAL project [3] aimed to "facilitate inter-organisational cooperation in knowledge intensive industries. The project worked on the hypothesis that interactive process models form a suitable framework for tools and methodologies for dynamically networked organisations. In the project EEML (Extended Enterprise Modelling Language) was first constructed as a common metamodel, designed to enable syntactic and semantic interoperability".[4]
It was further developed in the EU projects Unified Enterprise Modelling Language (UEML)[5] from 2002 to 2003 and the ongoing ATHENA project.[6]
The objectives of the UEML Working group were to "define, to validate and to disseminate a set of core language constructs to support a Unified Language for Enterprise Modelling, named UEML, to serve as a basis for interoperability within a smart organisation or a network of enterprises".[7]
The EEML-language is divided into 4 sub-languages, with well-defined links across these languages:[8]
Process modelling in EEML, according to Krogstie (2006) "supports the modeling of process logic which is mainly expressed through nested structures of tasks and decision points. The sequencing of the tasks is expressed by the flow relation between decision points. Each task has minimum an input port and an output port being decision points for modeling process logic, Resource roles are used to connect resources of various kinds (persons, organisations, information, material objects, software tools and manual tools) to the tasks. In addition, data modeling (using UML class diagrams), goal modeling and competency modeling (skill requirements and skills possessed) can be integrated with the process models".[8]
EEML has four layers of interest:
These tasks are tied together through another layer called Manage Task Knowledge which allows to achieve a global interaction through the different layers by performing a real consistency between them. According to EEML 2005 Guide, this Manage Task Knowledge can be defined as the collection of processes necessary for innovation, dissemination, and exploitation of knowledge in a co-operating ensemble where interact knowledge seekers and knowledge sources by the means of a shared knowledge base.
Goal modelling is one of the four EEML modelling domains age. A goal expresses the wanted (or unwanted) state of affairs (either current or future) in a certain context. Example of the goal model is depicted below. It shows goals and relationships between them. It is possible to model advanced goal-relationships in EEML by using goal connectors. A goal connector is used when one need to link several goals.
In goal modelling to fulfil Goal1, one must achieve to other goals: both Goal2 and Goal3 (goal-connector with “and” as the logical relation going out). If Goal2 and Goal3 are two different ways of achieving Goal1, then it should be “xor” logical relationship. It can be an opposite situation when both Goal2 and Goal3 need to be fulfilled and to achieve them one must fulfil Goal1. In this case Goal2 and Goal3 are linked to goal connector and this goal connector has a link to Goal1 with ”and”-logical relationship.
The table indicates different types of connecting relationships in EEML goal modelling. Goal model can also be interlinked with a process model.
We can describe process model as models that comprise a set of activities and an activity can be decomposed into sub-activities.[9] These activities have relationship amongst themselves. A goal describes the expected state of operation in a business enterprise and it can be linked to whole process model or to a process model fragment with each level activity in a process model can be considered as a goal.
Goals are related in a hierarchical format where you find some goals are dependent on other sub goals for them to be complete which means all the sub goals must be achieved for the main goal to be achieved. There is other goals where only one of the goals need to be fulfilled for the main goal to be achieved. In goal modelling, there is use of deontic operator which falls in between the context and achieved state.[10] Goals apply to tasks, milestones, resource roles and resources as well and can be considered as action rule for at task. EEML rules were also possible to although the goal modelling requires much more consultation in finding the connections between rules on the different levels.[11] Goal-oriented analysis focuses on the description and evaluation of alternatives and their relationship to the organisational objectives.[12]
Resources have specific roles during the execution of various processes in an organisation. The following icons represent the various resources required in modelling.
The relations of these resources can be of different types:
a. Is Filled By – this is the assignment relation between roles and resources. It has a cardinality of one-to-many relationship.
b. Is Candidate For – candidate indicates the possible filling of the role by a resource.
c. Has Member – this is a kind of relations between organisation and person by denoting that a certain person has membership in the organisation. Has a cardinality of many-to-many relation.
d. Provide Support To – support pattern between resources and roles.
e. Communicates With – Communication pattern between resources and roles.
f. Has Supervision Over – shows which role resource supervises another role or resource.
g. Is Rating Of – describes the relation between skill and a person or organisation.
h. Is required By – this is the primary skill required for this role
i. Has Access to – creating of models with the access rights.
From a general point of view, EEML can be used like any other modelling languages in numerous cases. However we can highlight the virtual enterprise example, which can be considered as a direct field of application for EEML with regard to Extended Enterprise planning, operation, and management.
EEML can help organisations meet these challenges by modelling all the manufacturing and logistics processes in the extended enterprise. This model allows capturing a rich set of relationships between the organisation, people, processes and resources of the virtual enterprise.[13] It also aims at making people understand, communicate, develop and cultivate solutions to business problems[14]
According to J. Krogstie (2008), enterprise models can be created to serve various purposes which include:
EEML enables Extended Enterprises to build up their operation based on standard processes through allowing modelling of all actors, processes and tasks in the Extended Enterprise and thereby have clear description of the Extended Enterprise. Finally, models developed will be used to measure and evaluate the Extended Enterprise.