EAML: A MOF-Based, Common Enterprise Architecture Meta-model Executive Summary

advertisement
EAML: A MOF-Based, Common Enterprise Architecture
Meta-model
John C. Butler, Ravi Hubbly, Manfred R. Koethe,
and Dr. Walcelio L. Melo
Executive Summary
The General Services Administration (GSA), Office of the Chief Information Officer
(OCIO), pursues new ways of applying computing and communications technologies to
the practical problems of information management. The goal is to reduce the cost and
improve the quality of government services, reduce technology risk, and share the
results of projects throughout the Federal sector.
In order to assist GSA OCIO to attain its goals, we have created the core of a MOFbased common enterprise architecture modeling language (EAML) and the kernel of an
environment to store, retrieve, and handle EA models described in this language. To do
so, the most common EA models used in this organization have been studied. Then, a
common language able to express these EA models and the relationships among them
have been created. The resulting language is heavily based on OMG EDOC standard.
However, the current version of OMG EDOC required enhancement in two fundamental
ways. First, the EDOC metamodel issues have been corrected. Second, new modeling
elements have been added in order to make OMG EDOC rich enough to support the EA
models currently used at GSA. This paper aims at describing the main characteristics of
EAML meta-modeling concepts.
1. An Overview of EDOC
As commented in the previous section, the current version of EAML is heavily based on
EDOC. This section presents a short overview of EDOC. Readers familiar with EDOC
can skip this section. Those interested in having a more comprehensible view of EDOC
should refer to the OMG EDOC specification[2].
As stated in the OMG EDOC specification, EDOC aims at simplifying the development of
component based systems by means of a modeling framework that conforms to the
OMG Model Driven Architecture. Regarding the use of EDOC as a core for our MOFbased common meta-model for enterprise architecture, EDOC provides the following
modeling capabilities:
‰
A platform independent, recursive modeling approach that can be used to
describe EA models at different levels of granularity and different degrees of
coupling.
‰
Out-of-the-box modeling concepts for describing the business, system, and
technological aspects of EA models.
‰
Traceability among different kinds of models.
‰
Extensibility allowing EDOC to be enhanced to support different kinds of EA
models
Unisys
1
7/5/2005
EDOC is defined as a structured set of MOF metamodels. Only selected parts out of this
set have been used for the work described in this document; these are:
‰
The Component Collaboration Architecture (CCA), which provides the core
component and collaboration modeling capabilities at varying and mixed levels of
granularity.
‰
The Entities model, which allows the modeling of EA concepts in the form of
entity relationships, where the entities are represented by CCA components. The
original EDOC Entity model was considerable changed in order to provide equal
support for EA data models on conceptual and instance level.
‰
The Events model, which allows the modeling of elements representing business
events. They may be used on their own, or in combination with other EDOC
elements to model event driven systems.
‰
The Business Process model, which extends the CCA with modeling elements
for the expression of intra- and inter-component semantic in form of workflow-like
processes.
2. Changes to the EDOC Metamodel
A collection of changes were applied in the context of this project to the EDOC
specification, as finalized by the OMG. These changes were necessary to correct
syntactical errors found in the specification; to make the metamodel less sensitive to
imperfections of existing metamodeling tools; and finally some modest functional
enhancements were introduced. All changes will be reported back to the OMG.
The majority of applied syntactical corrections fell into categories like:
‰
Missing or misplaced Association Role names
‰
Missing or incorrect Multiplicities
‰
Missing or incorrect Association Navigability
‰
Misspelled Names, missing Type Declarations
Figure 1 show a sample of the syntactical changes done in EDOC. Figure 1.a shows
EDOC before the changes and Figure 1.b after the changes.
a) Syntactical Changes (before)
Unisys
b) Syntactical Changes (after)
2
7/5/2005
+owner
CCA::
Composition
+owner
CCA::
Composition
1
1
+uses *
+uses *
CCA::ProcessComponent
CCA::ProcessComponent
-
CCA::
ComponentUsage
granulari ty: GranularityKi nd +uses
isPersistent: Boolean = false
1
prim itiveKind: String = ""
prim itiveSpec: String
* -
-
nam e: String
+usesArtifact
BusinessProcess
ProcessRole
-
BusinessProcess
Activ ity
0..*
0..*
0..*
0..*
selectionRule: String
creationRule: String +responsibleFor
-
0..*
Artifact
ResponsibleParty
CCA::
ComponentUsage
*
+usesArtifact
ProcessRole
0..*
selectionRule: String
creationRule: String +responsi bleFor
+enabling
Activ ity
0..*
+forActivity
0..*
+perform edBy
CompoundTask
granulari ty: Granulari tyKind +uses
isPersistent: Boolean = false
1
primitiveKind: String = ""
primitiveSpec: String
0..*
+performedBy
CompoundTask
+performing
0..*
0..*
Artifact
Performer
ResponsibleParty
0..*
Performer
Figure 1: Syntactical changes made in EDOC
Also, several changed were required to make it possible to handle EDOC with the metatools used in this project, e.g., Eclipse/EMF. Basically, the following changes have been
made for this purpose:
‰
Changes to Association Role names to avoid keywords
‰
Changes to Association Role names to avoid double definitions
‰
Additional Stereotypes to “teach” the tools how to handle Multiple Inheritance
Finally, semantic changes have been made in order to enhance EDOC functionality. In
the following it is described what changes have been incorporated in EDOC:
‰
Model Structure: The whole model is now rooted.
o
ModelElement: is the root of all EDOC model elements
o
NamedElement: is the root of all EDOC model elements that have a
name.
‰
The new structure supports Multiple Inheritance
‰
Redesigned Data Type Model
‰
Redesigned Entity-Relationship Model
‰
Addition of an Organizational Structure Model
Unisys
3
7/5/2005
Figure 2 shows the new EDOC model root. The common root is ModelElement. A new
class AspectableElement specializes ModelElement by providing identity and a selector
mechanism to provide aspect-oriented instantiation mechanisms. All model elements,
except for a few aspect control classes, are now derived from AspectableElement.
Model elements which previously carried individual “name” attributes are now derived
from NamedElement, which specializes AspectableElement by introducing a unified
naming concept.
ModelElement
AspectableEleme nt
+target
1
+usage
+
uniqueId: Id entity
*
PropertyValue
PortOwne r
As pectUsa ge
ContextualBinding
Abstra ctTransition
*
+use dAsp ect
1
Us ageConte xt
ApspectSlice
+selectedSlice
a ppliesT o: Expression
p reced ence: int
selector: String
a ppliesT oChild ren: Bo olean
1
+sli ces
*
+aspect
1
As pect
+selectionSet
NamedElement
-
Choreography
n ame: String
ModelManagement::
Pa ckageContent
«bo undary»
Port
0..*
Ev ent::
BusinessEvent
Node
PropertyDefinition
SelectionSet
Figure 2: EDOC root element
Figure 3 shows a change within EDOC CCA to support multiple inheritance for CCA
components. Figure 3.a reflects the original, which supported only simple inheritance.
a) CCA model (before)
b) CCA model (after)
cd Structural_Specification_Metamodel
+supertype 0..1
cd Structural_Specification_Metamodel
+supertype 0..*
Choreography
Generalization
Choreography
Generalization
+subtypes *
+subtypes *
Figure 3: Multiple inheritance in EDOC.
The Document Model provides data type definitions for the use in CCA component
collaborations. It turned out that the originally available data type definitions were too
restrictive. Also, the reworked Entity Model imposed new requirements on the Document
Model.
Unisys
4
7/5/2005
Even though the two diagrams, “before” and “after” look different, the changes are
actually minimal:
‰
All data types support now multiple inheritance
‰
Attribute and Reference (see Entity Model) are
StructuralFeature, which replaced the previous Attribute
‰
StructuralFeature is now named and allows redefinition
a) Document Model (before)
DataInv ariant
+constraints
expression: String
onCo mmit: Boolean *
-
+constrain tEleme nt
from
CCA::
NamedElement
+typ e
DataElement
1
1
-
nam e: String
CCA::
Aspe ctableElement
Compos iteData
DataType
derived
b) Document Model (after)
+supertype 0..1
Enumeration
now
+subtypes *
+supertype 0..*
+subtype 0..*
+enumera tion
+initial
1
*
+owner
1
+feature
*
EnumerationValue
n ame: String
-
m imeType: String
specURL: String
e xternalNam e: Stri ng
+constra ints
+constraintEle ment
expression: String
*
onCommit: Boolean
+featureType
1
1
Attribute
ExternalDocument
-
DataInv ariant
-
*
+values
StructuralType
-
b yValue: Boolean
required: Boolean
m any: Boo lean
i nitialVa lue: Expre ssio n
Enumeration
Composite
Da taType
-
1
kind: EntityKind
1
+enu meration
+initia l
1
*
+owner
1
+feature
*
*
+values
StructuralFea ture
ExternalDocument
Enumera tionValue
-
mimeT ype: String
sp ecURL: String
externalName: String
+redefines 0..* -
byValue: Bo olean
requ ired: Bo olean
initi alValue: Expression
isIdentity: Bo olean
mul tiplicity_l b: int
mul tiplicity_u b: int
«e numeration»
EntityKind
+
+
+
unidentifia ble:
entity:
association:
Attribute
Figure 4: Data model sub-system
Unisys
5
7/5/2005
2.1.
EDOC Entity Model
cd Entity_Metamodel
+supertype 0..*
+subtype 0..*
«boundary»
CCA::Port
CCA::
ProcessComponent
«boundary»
CCA::Flow Port
CCA::MultiPort
DocumentModel::
StructuralType
DataManager
1
+managedBy
NetworkAccess: Boolean
+managedData
0..*
Sharable: Boolean
+
+
+featureType
1
DocumentModel::
Composite
-
kind: EntityKind
+owner
1
+feature *
PubSub::
Publication
PubSub::
Subscription
DocumentModel::
StructuralFeature
-
+redefines 0..*
DataProbe
-
ExtentProbe: Boolean
+observer
+probes
0..*
Entity
+
Managed: Boolean
byValue: Boolean
required: Boolean
initialValue: Expression
isIdentity: Boolean
multiplicity_lb: int
multiplicity_ub: int
+Inverse 0..*
«enumeration»
DocumentModel::
EntityKind
«enumeration»
AggregationKind
+
+
+
+
+
+
+
unidentifiable:
entity:
association:
*
Reference
-
aggregate: AggregationKind
none:
aggregate:
subordinate:
roleOf:
Figure 5: Enhanced version of EDOC Entity Model
In order to support Business Data Structures and Business Information Needs EA
models1, EAML required that EDOC Entity Model be significantly enhanced. Figure 5
presents the enhanced version of the EDOC Entity Model. This enhanced version was
successfully used to capture the Business Data Structure EA models.. The changes
applied to the EDOC Entity Model are:
‰
CompositeData was renamed to Composite and carries now an attribute of type
EntityKind. This acts as a type modifier to characterize the Composite instance
as entity, association, or as an unidentifiable data element. This way Composite
can represent a relationship of an entity-relationship model as a first class
modeling concept. Composite is a concrete specialization of StructuralType
defined in the Document Model of ECA.
‰
A Composite can have many features, which are either Attributes or References.
StructureFeature, the abstract base class for Attribute and Reference carries
1
A Business Information Need Model is an EA model Enterprise Artifact that defines the specific set of
knowledge (business intelligence) that a particular role or Organizational Unit requires for making
decisions and/or completing a unit of work.
Unisys
6
7/5/2005
constraining flags and the multiplicity. It supports redefinition through the
redefines association.
‰
2.2.
Reference, a concrete sub-class of StructuralFeature, captures the type of
reference that binds two or more entities. Via the aggregate attribute the
relationship can be further detailed into an aggregate, subordinate, or simply a
role.
EDOC Process Model
The EDOC Process Model was used as-is by EAML. Figure 6 shows the EDOC
modeling components we have used in this work to describe EA models. The
description of these model components can be found in the OMG EDOC specification[2].
Figure 6: EDOC modeling elements for business process model
2.3.
EDOC Organizational Structure Model
In order to support Organization Structure EA models, EAML required that a new submodel be added to EDOC. Figure 7 shows how EDOC was enhanced to model
organizational structures. Each OrganizationalUnit is represented as a CCA component
and reified by one or multiple BusinessEntity components. BusinessEntity is a
specialization of Entity (from the Entity Model). As specializations of CCA components,
OrganizationalUnit and BusinessEntity benefit from the component collaboration and
recursive refinement mechanisms. Any organizational topology can be modeled.
In most organizations are the externally visible interfaces of an organizational unit
defined by the roles this unit plays within the organization, and in particular within the
business processes executed by the organization. These facts are expressed by the
BusinessRole element, a CCA component owned by an OrganizationalUnit. Each
BusinessRole can optionally express the participation in one or many business
processes through a link to the corresponding ProcessRole. The business processes are
not directly affected by this connection.
Unisys
7
7/5/2005
cd Organizational_Structure
1
CCA::ProcessComponent
Entity::Entity
+
ComponentUsages
+owner
CCA::
Composition
-
Managed: Boolean
granularity: GranularityKind
isPersistent: Boolean = false +uses
prim itiveKind: String = ""
1
prim itiveSpec: String
BusinessRole
*
*
+involedIn
0..1
+plays
+uses
CCA::
ComponentUsage
Uses
0..*
BusinessProcess::
ProcessRole
0..*
0..1
BusinessEntity
+realizedBy
+organizedAs
1..*
OrganizationalUnit
0..*
Figure 7: Organizational Structure Model
3. A Case Study
In order to validate EAML modeling capabilities, we have migrated EA models created
by well-known EA tools to EAML modeling concepts. Given the fact that at GSA Popkins
System Architect is one the most used EA tool, it was natural to map Popkins SA EA
models to EAML.
Figure 8 shows the mapping between SA Entity-Relationship (ER), which is used to
capture Business Data Structures, and EAML. Entities and relationships are first classes
citizen and they are represented by the CompositeData model element. This allows ntiers relationship to be easily captured in the model. For each CompositeData an Entity
model element is also created in order to capture conceptual entity-relationship models.
Further information about EDOC model elements can be found in the OMG EDOC
specification.
Unisys
8
7/5/2005
Figure 8: EAML mapping for Business Data Structures EA Models (SA Entity-Relationship
Models)
Sales
Store Customer Details
Room Not Available
Notify Inavailability to Client
Type
External Primary
Resources Management
Check Room Availability
Room Available
Provisionally Book Room
Type
Internal Primary
Reception
Customer Requests Reservation
Event Type
External Actual
Figure 9: A SA Business Process Model sample
Figure 9 shows a sample of a Business Process Model built in SA. In this diagram, the
arrow-pointing-right symbol represents an event, Customer Request Reservation.
There is a mandatory flow (bold line) from this event to the process Store Customer
Details. There is a mandatory flow (bold line) from process Store Customer Details to
process Check Room Availability. There are two optional flow lines leaving the process
Check Room Availability – thin lines with an not filled arrow on the line. These lines
Unisys
9
7/5/2005
denote a flow out of the process dependent on a condition. If Room Available then
Result called Provisionally Book Room is done else Result Notify unavailability to
Client is sent.
In addition, the event and processes in this diagram are plotted against the part of the
organization where the event happens or the process takes place – these divisions,
shown in the diagram as Reception, Customer, and Accounts – are known as "swim
lanes," and represent units in the organization – or Organizational Units.
Hence a SA Business Process Model is made up of the following elements:
‰
Swimlanes (Organizational Unit)
‰
Events
‰
Results
‰
Elementary Business Process
‰
Mandatory Flow
‰
Optional Flow
The mappings of these model elements to EAML model elements were identified as
shown in Figure 10
Unisys
10
7/5/2005
Process Map :Package
Process Reservation Request :CompoundTask
Store Customer Details :Activity
Check Room Availability :Activity
uses
ports
Reception :ProcessRole
Resource Management :ProcessRole
Sales :ProcessRole
Event Customer Request Reservation :ProcessFlowPort
Result Notify Inavailability to Client :ProcessFlowPort
Result Provisionally Book Room :ProcessFlowPort
nodes
Event Customer Request Reservation :ProcessPortConnector
From Event Customer Request Reservation :ProcessPortConnector
To Check Room Availability :ProcessPortConnector
From Store Customer Details :ProcessPortConnector
source
:DataFlow
target
source
:DataFlow
To Result Provisionally Book Room :ProcessPortConnector
target
source
Result Provisionally Book Room :ProcessPortConnector
target
To Result Notify Inavailability to Client :ProcessPortConnector
source
:DataFlow
:DataFlow
Result Notify Inavailability to Client :ProcessPortConnector
target
Store Customer Details :CompoundTask
uses
From Event Customer Request Reservation :ProcessFlowPort
To Check Room Availability :ProcessFlowPort
Check Room Availability :CompoundTask
From Store Customer Details :ProcessFlowPort
uses
To Result Provisionally Book Room :ProcessFlowPort
To Result Notify Inavailability to Client :ProcessFlowPort
Reception :BusinessRole
Resource Management :BusinessRole
Sales :BusinessRole
Figure 10: A SA Business Process Model mapped to EAML
Unisys
11
7/5/2005
4. Conclusion
One of the key aspects of capturing any architecture is the creation of models that
graphically represent information about the system under study, whether that system is
an information system, an organization, or an entire enterprise. While the system
development world has coalesced around the use of UML as a modeling language, the
EA industry currently has no standard modeling language akin to UML. Some use
swimlane diagrams in conjunction business process decomposition diagrams. Others
use strict process decomposition diagrams without swimlanes and still others use UML
Activity diagrams. The result is a fragmented community wherein it is difficult to share
models and thereby promote a common understanding and reuse.
In this paper, we have presented the core of an enterprise architecture meta-modeling
language that addresses this issue. Instead of re-inventing the wheel, the model
integration was accomplished by using a refined version of OMG EDOC specification. In
order to validate the capabilities of EAML, we have migrated a few EA models built in
Popkins System Architect and DAT ComponentX to EAML.
Based on our experience, we have verified that EDOC lacks concepts required for fully
capturing enterprise architecture such as Vision, Strategy, and Plan. Without these
concepts the EA cannot be tied back to the strategic or capital planning, organizational
goals, and/or federal enterprise architecture reference models.
We will continue this work by enhancing Enterprise Architecture Modeling Language
(EAML). The new versions of EAML will take advantage of other OMG languages as
they emerge, e.g., BSBR and BPDM.
Unisys
12
7/5/2005
References
[1]
David S. Frankel, Paul Harmon, Jishnu Mukerji, James Odell, Martin Owen, Pete
Rivitt, Mike Rosen, Richard Mark Soley. The Zachman Framework and the
OMG's Model Driven Architecture. Business and Process Trends, White Paper,
September 2003.
[2]
Object Management Group (OMG). Enterprise Collaboration Architecture (ECA)
Specification. February 2004, Version 1.0, formal/04-02-01.
[3]
J.A.Zachman. “A Framework for Information Systems Architecture,” IBM Systems
Journal, Vol. 26, No. 3, 1987. (The same article was reprinted in 1999 in a
special double issue of the IBM Systems Journal that is easier to locate: Vol. 38,
Nos 2&3, 1999.)
[4]
Information on Zachman’s current work can be obtained from The Zachman
Institute for Framework Advancement (ZIFA) www.zifa.com
[5]
Zachman has recently prepared an electronic book, The Zachman Framework: A
Primer for Enterprise Engineering
Unisys
13
7/5/2005
Download