AP scope  |  AP module  |  AP contents  |  AP index
Application module: State based behaviour ISO/WD 10303-1371

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviations

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definitions
     5.2.2 MIM entity definitions
6 Module reference data

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
Bibliography
Index

6 Module reference data

Implementations of this part of ISO 10303 shall make use of the capability to classify an entity type using Classification_assignment (see ISO 10303-1114), Class (see ISO 10303-1070) and External_class (see ISO 10303-1275). This annex contains a subclause for each entity type defined in or used by this part of ISO 10303 for which that capability shall be applied. The specified Uniform Resource Identifier (URI) is used to identify each class.

For the purpose of diagramming possible classifications of EXPRESS entity types, UML 1.4 or later class diagrams with stereotypes are used. The W3C OWL Web Ontology Language is used to represent the classes that may be applied to an EXPRESS entity type both in the diagrams and as example OWL files.

NOTE   The standards related to the specification of reference data are:

The diagram notation is interpreted as follows:

6.1 Classifications of State_definition

A State_definition may be classified in order to specify its detailed semantics. For the purpose of specifying those semantics, the OMG UML 2.1 concept of a State Machine is used. The following terms represent the same concepts from the UML 2.1 specification and are referenced using the specified URIs.



Figure 6.1 —  State_definition Taxonomy

Figure 6.1 —  State_definition Taxonomy

6.1.1 ConnectionPointReference

ConnectionPointReference is defined in section 15.3.1 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/ConnectionPointReference

6.1.2 FinalState

FinalState is defined in section 15.3.2 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/FinalState

6.1.3 Pseudostate

Pseudostate is defined in section 15.3.8 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate

6.1.4 Pseudostate-initial

initial Pseudostate is defined in section 15.3.9 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate-initial

6.1.5 Pseudostate-deepHistory

deepHistory Pseudostate is defined in section 15.3.9 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate-deepHistory

6.1.6 Pseudostate-shallowHistory

shallowHistory Pseudostate is defined in section 15.3.9 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate-shallowHistory

6.1.7 Pseudostate-join

join Pseudostate is defined in section 15.3.9 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate-join

6.1.8 Pseudostate-fork

fork Pseudostate is defined in section 15.3.9 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate-fork

6.1.9 Pseudostate-junction

junction Pseudostate is defined in section 15.3.9 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate-junction

6.1.10 Pseudostate-choice

choice Pseudostate is defined in section 15.3.9 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate-choice

6.1.11 Pseudostate-entryPoint

entryPoint Pseudostate is defined in section 15.3.9 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate-entryPoint

6.1.12 Pseudostate-exitPoint

exitPoint Pseudostate is defined in section 15.3.9 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate-exitPoint

6.1.13 Pseudostate-terminate

terminate Pseudostate is defined in section 15.3.9 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Pseudostate-terminate

6.1.14 Region

Region is defined in section 15.3.10 of the UML 2 specification.

URI Specification

http://schema.omg.org/spec/UML/2.1/Region

6.1.15 Examples

EXAMPLE    The following shows how the four direction kinds would appear in an ISO 10303-21 instance data file.

#1=EXTERNAL_CLASS_LIBRARY('http://schema.omg.org/spec/UML/2.1','OMG UML 2.1');
#2=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/FinalState','Final State',$,#1);
#3=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Pseudostate-initial','intial Pseudostate',$,#1);
#4=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Pseudostate-deepHistory','deepHistory Pseudostate',$,#1);    
#5=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Pseudostate-shallowHistory','shallowHistory Pseudostate',$,#1);    
#6=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Pseudostate-join','join Pseudostate',$,#1);    
#7=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Pseudostate-fork','fork Pseudostate',$,#1);    
#8=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Pseudostate-junction','junction Pseudostate',$,#1);    
#9=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Pseudostate-choice','choice Pseudostate',$,#1);    
#10=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Pseudostate-entryPoint','entryPoint Pseudostate',$,#1);    
#11=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Pseudostate-exitPoint','exitPoint Pseudostate',$,#1);    
#12=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Pseudostate-terminate','terminate Pseudostate',$,#1);    
#13=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/ConnectionPointReference','Connection Point Reference',$,#1);
#14=EXTERNAL_CLASS('http://schema.omg.org/spec/UML/2.1/Region','Region',$,#1);
#50=CLASSIFICATION_ASSIGNMENT(#2,#51,$);
#51=STATE_DEFINITION('state one',$);

EXAMPLE    The following shows how the UML 2.1 State Machine concepts can be represented using an OWL ontology and the related RDF/XML Abbreviated syntax.

<?xml version="1.0"?>
<rdf:RDF
    xmlns="http://schema.omg.org/spec/UML/2.1/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
  xml:base="http://schema.omg.org/spec/UML/2.1/">
  <owl:Ontology rdf:about=""/>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Region"/>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/FinalState"/>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/ConnectionPointReference"/>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate-deepHistory">
    <rdfs:subClassOf rdf:resource="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  </owl:Class>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate-shallowHistory">
    <rdfs:subClassOf rdf:resource="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  </owl:Class>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate-join">
	  <rdfs:subClassOf rdf:resource="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  </owl:Class>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate-fork">
	  <rdfs:subClassOf rdf:resource="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  </owl:Class>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate-junction">
	  <rdfs:subClassOf rdf:resource="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  </owl:Class>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate-choice">
	  <rdfs:subClassOf rdf:resource="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  </owl:Class>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate-entryPoint">
	  <rdfs:subClassOf rdf:resource="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  </owl:Class>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate-exitPoint">
	  <rdfs:subClassOf rdf:resource="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  </owl:Class>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate-terminate">
	  <rdfs:subClassOf rdf:resource="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  </owl:Class>
  <owl:Class rdf:about="http://schema.omg.org/spec/UML/2.1/Pseudostate-initial">
    <rdfs:subClassOf rdf:resource="http://schema.omg.org/spec/UML/2.1/Pseudostate"/>
  </owl:Class>
</rdf:RDF>

6.2 Classifications of state_type

A state_type may be classified in order to specify its detailed semantics. For the purpose of specifying those semantics, the OMG UML 2.1 concept of a State Machine is used. The same terms and URIs as specified for State_definition are applicable.



Figure 6.2 —  state_type Taxonomy

Figure 6.2 —  state_type Taxonomy



© ISO 2006 — All rights reserved