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 Constructs
in 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]