CIMOSA Association
XML Representation of CIMOSA Models
Martin Zelm[1], CIMOSA Association
The following short report summarises the results obtained by a working group investigating the XML Representation of CIMOSA Models. The work was carried out in the ESPRIT Project PRIMA II (EP 20775),.in a co-operation with the CIMOSA Association and Daniel Rivers-Moore[2], Rivcom, UK. The PRIMA project had identified CIMOSA as the basis for common semantics of the business model language and the XML format and as a suitable format for the transfer of the model structure and content[SalG99],[CO96]. Another important aspect is the closeness to international standardisation. The CIMOSA modelling constructs are largely identical with that of the European Prenorm 12 204 [CEN95]. Figure 1 shows the modelling constructs and their relations as defined the European Prenorm ENV 12204.
The benefits of such an effort can be summarised as: Exchange of CIMOSA models in a neutral form, style sheets that give users the ability to interact more with the model and the definition of logical links between information elements.
Results
The working group has developed the Document Type Definition (DTD) of the CIMOSA-XML Meta-model. This Meta-model is the basis for a common set of modelling constructs in order to build enterprise models, which can be presented in different views to different users.
The presentation of the CIMOSA model starts from the functional hierarchy (de-composition) of the domain and enterprise functions (Domain Processes, Business Processes and Enterprise Activities). The behavioural description of the XML model is presented as a graphic representation. Information view and resource view are presented by listing Object Views, Capabilities and Capability Sets with a description of the enterprise functions that employ them as function inputs, function outputs, needed capabilities etc.
The specification of a Document Type Definition (DTD) for most CIMOSA constructs has been based on their formal definition in EXPRESS language. The population of an XML file with data from a particular CIMOSA model with CIMOSA DTD enables the model representation into Manager, Business and Technical type of description
Table 1 shows which constructs out of the Pre-Norm 12204 have been defined as CIMOSA-XML DTDs in the PRIMA study.
Table 1: Modelling Constructs in ENV12204 and CIMOSA-XML DTDs
Modelling Constructsin ENV 12204 / Modelling Constructs as CIMOSA-XML DTDs thereof
Function View / Business Process,
Enterprise Activity
Event, Sequencing Relation / Business Process, Enterprise Activity, Event, Sequencing Relation (Procedural Rule)
Information View / Enterprise Object,
Object View
Object State
Relation / Enterprise Object
Object View
Resource View / Capability Set, Resource / Capability Set
Organisation View / Organisation Unit / -
Other / Product, Order / -
The definitions of the individual CIMOSA-XML DTDs for the model structure, the modelling constructs and the associations between constructs are presented in the Annex.
The detail results of the work plus background literature have been put together as part of the PRIMA project deliverables and can be obtained from G. Salvato[3].[Sal99].
Closing Remark
As shown in Table 1, not all modelling constructs defined in ENV 12204 have been converted into DTDs in the PRIMA study due to lack of time and funding. The relevance of this work for standardisation in enterprise modelling is clearly recognised. The CIMOSA Association and the other partners of the working group intend to initiate a follow up and are looking for opportunities to complete the work.
References
[Sal99] G. Salvato et al.: 'Exchange and Presentation of Business Models with CIMOSA-XML', PRIMA Deliverables April 1999, Section Enterprise Models/Process Repository (available on a CD through the PRIMA Consortium)
[CO96] ‘CIMOSA - Open System Architecture for CIM’, Technical Baseline, Version 3.2; CIMOSA Association e.V., 96/02/15.
[CEN 95] CEN ENV 12204, Advanced Manufacturing Technology - Systems Architecture - Constructs for Enterprise Modelling, CEN TC310/WG1, 1995
ANNEX : The XML DTD for CIMOSA Models
CIMOSA_XML Page 5 of 5 99.09.12
CIMOSA Association
CIMOSA_XML Page 5 of 5 99.09.12
CIMOSA Association
<!--DTD for XML representation
of Cimosa Models-->
<!ELEMENT CimosaModel(
FunctionView ,
InformationView ,
ResourceView ,
Model-Associations,
Descriptions,
Describes-Associations)>
<!ATTLIST CimosaModel
ID ID #REQUIRED
name CDATA #REQUIRED>
<!ELEMENT FunctionView(
EnterpriseFunctions,
FunctionObjectives?,
Events?,
EndStatuses?)>
<!ATTLIST FunctionView
ID ID #REQUIRED>
<!ELEMENT InformationView(
EnterpriseObjects? ,
ObjectViews?)>
<!ATTLIST InformationView
ID ID #REQUIRED>
<!ELEMENT ResourceView(
CapabilitySets? ,
Capabilities?)>
<!ATTLIST ResourceView
ID ID #REQUIRED>
<!ELEMENT EnterpriseFunctions (
Domains ,
DomainProcesses ,
BusinessProcesses ,
EnterpriseActivities)>
<!ATTLIST EnterpriseFunctions
ID ID #REQUIRED>
<!ELEMENT Domains (Domain+)>
<!ATTLIST Domains
ID ID #REQUIRED>
<!ELEMENT Domain EMPTY>
<!ATTLIST Domain
ID ID #REQUIRED
name CDATA #REQUIRED>
<!ELEMENT DomainProcesses
(DomainProcess+)>
<!ATTLIST DomainProcesses
ID ID #REQUIRED>
<!ELEMENT DomainProcess EMPTY>
<!ATTLIST DomainProcess
ID ID #REQUIRED
name CDATA #REQUIRED
picture (yes) #IMPLIED>
<!ELEMENT BusinessProcesses
(BusinessProcess+)>
<!ATTLIST BusinessProcesses
ID ID #REQUIRED>
<!ELEMENT BusinessProcess EMPTY>
<!ATTLIST BusinessProcess
ID ID #REQUIRED
name CDATA #REQUIRED
picture (yes) #IMPLIED>
<!ELEMENT EnterpriseActivities
(EnterpriseActivity+)>
<!ATTLIST EnterpriseActivities
ID ID #REQUIRED>
<!ELEMENT EnterpriseActivity EMPTY>
<!ATTLIST EnterpriseActivity
ID ID #REQUIRED
name CDATA #REQUIRED>
<!ELEMENT FunctionObjectives (Objective+)>
<!ATTLIST FunctionObjectives
ID ID #REQUIRED>
<!ELEMENT Objective EMPTY>
<!ATTLIST Objective ID ID #REQUIRED>
<!ELEMENT Events (Event+)>
<!ATTLIST Events ID ID #REQUIRED>
<!ELEMENT Event EMPTY>
<!ATTLIST Event ID ID #REQUIRED
name CDATA #REQUIRED>
<!ELEMENT EndStatuses (EndStatus+)>
<!ATTLIST EndStatuses ID ID #REQUIRED>
<!ELEMENT EndStatus EMPTY>
<!ATTLIST EndStatus ID ID #REQUIRED
name CDATA #REQUIRED>
<!ELEMENT EnterpriseObjects
(EnterpriseObject+)>
<!ATTLIST EnterpriseObjects
ID ID #REQUIRED>
<!ELEMENT EnterpriseObject EMPTY>
<!ATTLIST EnterpriseObject
ID ID #REQUIRED
name CDATA #REQUIRED>
<!ELEMENT ObjectViews (ObjectView+)>
<!ATTLIST ObjectViews ID ID #REQUIRED>
<!ELEMENT ObjectView EMPTY>
<!ATTLIST ObjectView ID ID #REQUIRED
name CDATA #REQUIRED>
<!ELEMENT CapabilitySets (CapabilitySet+)>
<!ATTLIST CapabilitySets ID ID #REQUIRED>
<!ELEMENT CapabilitySet EMPTY>
<!ATTLIST CapabilitySetID ID #REQUIRED
name CDATA #REQUIRED>
<!ELEMENT Capabilities (Capability+)>
<!ATTLIST Capabilities ID ID #REQUIRED>
<!ELEMENT Capability EMPTY>
<!ATTLIST Capability ID ID #REQUIRED
name CDATA #REQUIRED>
<!ELEMENT Model-Associations (
Employs-Associations?,
IsObjectiveOf-Associations?,
FunctionInput-Associations?,
FunctionOutput-Associations?,
ControlInput-Associations?,
ControlOutput-Associations?,
Requires-Associations?,
HasEndStatus-Associations?,
Triggers-Associations?,
ProceduralRule-Associations?)>
<!ATTLIST Model-Associations
ID ID #REQUIRED>
<!ELEMENT Describes-Associations
(Describes+)>
<!ATTLIST Describes-Associations
ID ID #REQUIRED>
<!ELEMENT Describes EMPTY>
<!ATTLIST Describes
Description-ID IDREF #REQUIRED
Thing-ID IDREF #REQUIRED>
<!ELEMENT Employs-Associations
(Employs+)>
<!ATTLIST Employs-Associations
ID ID #REQUIRED>
<!ELEMENT Employs EMPTY>
<!ATTLIST Employs
EmployerFunction-ID IDREF #REQUIRED
EmployedFunction-ID IDREF #REQUIRED>
<!ELEMENT IsObjectiveOf-Associations
(IsObjectiveOf+)>
<!ATTLIST IsObjectiveOf-Associations
ID ID #REQUIRED>
<!ELEMENT IsObjectiveOf EMPTY>
<!ATTLIST IsObjectiveOf
Objective-ID IDREF #REQUIRED
Function-ID IDREF #REQUIRED>
<!ELEMENT FunctionInput-Associations
(FunctionInput+)>
<!ATTLIST FunctionInput-Associations
ID ID #REQUIRED>
<!ELEMENT FunctionInput EMPTY>
<!ATTLIST FunctionInput
ObjectView-ID IDREF #REQUIRED
Function-ID IDREF #REQUIRED>
<!ELEMENT FunctionOutput-Associations
(FunctionOutput+)>
<!ATTLIST FunctionOutput-Associations
ID ID #REQUIRED>
<!ELEMENT FunctionOutput EMPTY>
<!ATTLIST FunctionOutput
ObjectView-ID IDREF #REQUIRED
Function-ID IDREF #REQUIRED>
<!ELEMENT ControlInput-Associations
(ControlInput+)>
<!ATTLIST ControlInput-Associations
ID ID #REQUIRED>
<!ELEMENT ControlInput EMPTY>
<!ATTLIST ControlInput
ObjectView-ID IDREF #REQUIRED
Function-ID IDREF #REQUIRED>
<!ELEMENT ControlOutput-Associations
(ControlOutput+)>
<!ATTLIST ControlOutput-Associations
ID ID #REQUIRED>
<!ELEMENT ControlOutput EMPTY>
<!ATTLIST ControlOutput
Event-ID IDREF #REQUIRED
Function-ID IDREF #REQUIRED>
<!ELEMENT Requires-Associations
(Requires+)>
<!ATTLIST Requires-Associations
ID ID #REQUIRED>
<!ELEMENT Requires EMPTY>
<!ATTLIST Requires
Function-ID IDREF #REQUIRED
Capability-ID IDREF #REQUIRED>
<!ELEMENT HasEndStatus-Associations
(HasEndStatus+)>
<!ATTLIST HasEndStatus-Associations
ID ID #REQUIRED>
<!ELEMENT HasEndStatus EMPTY>
<!ATTLIST HasEndStatus
Function-ID IDREF #REQUIRED
EndStatus-ID IDREF #REQUIRED>
<!ELEMENT Triggers-Associations
(Triggers+)>
<!ATTLIST Triggers-Associations
ID ID #REQUIRED>
<!ELEMENT Triggers EMPTY>
<!ATTLIST Triggers
Event-ID IDREF #REQUIRED
Function-ID IDREF #REQUIRED>
<!ELEMENT ProceduralRule-Associations
(ProceduralRule+)>
<!ATTLIST ProceduralRule-Associations
ID ID #REQUIRED>
<!ELEMENT ProceduralRule EMPTY>
<!ATTLIST ProceduralRule
FromFunction-ID IDREF #REQUIRED
ToFunction-ID IDREF #IMPLIED
EndStatus-ID IDREF #IMPLIED >
<!ELEMENT Descriptions(
FunctionDescriptions?,
ObjectiveDescriptions?)>
<!ATTLIST Descriptions
ID ID #REQUIRED>
<!ELEMENT FunctionDescriptions
(Description+)>
<!ATTLIST FunctionDescriptions
ID ID #REQUIRED>
<!ELEMENT Description (Para+)>
<!ATTLIST Description
ID ID #REQUIRED>
<!ELEMENT Para (
#PCDATA |
ObjectViewRef |
EventRef |
CapabilityRef |
EndStatusRef)* >
<!ELEMENT ObjectViewRef ( #PCDATA )>
<!ATTLIST ObjectViewRef
ObjectView-ID IDREF #REQUIRED
role CDATA #REQUIRED>
<!ELEMENT EventRef ( #PCDATA )>
<!ATTLIST EventRef
Event-ID IDREF #REQUIRED>
<!ELEMENT CapabilityRef ( #PCDATA )>
<!ATTLIST CapabilityRef
Capability-ID IDREF #REQUIRED>
<!ELEMENT EndStatusRef ( #PCDATA )>
<!ATTLIST EndStatusRef
EndStatus-ID IDREF #REQUIRED>
<!ELEMENT ObjectiveDescriptions
(ObjectiveDescription+)>
<!ATTLIST ObjectiveDescriptions
ID ID #REQUIRED>
<!ELEMENT ObjectiveDescription (Para)>
<!ATTLIST ObjectiveDescription
ID ID #REQUIRED>
CIMOSA_XML Page 5 of 5 99.09.12
[1]
[2] . RivCom is a leading edge service company specialised in developing and publishing structured information such as business models and management guidelines. They are active members of consortia developing technologies and international standards for information management like ISO TC 184/SC4 , EPISTLE, SGML Open, and W3C XML Special Interest group
[3]