The exff Logo

Welcome to the exff Pages

NEWS ABOUT SOFTWARE FAQ GUIDES PAPERS LINKS

A First Test of SysML/AP233 Interchange for Systems Engineering Data

Resources

by David Price and Roger Burkhart

Abstract

The purpose of this project was to begin testing the use of OMG SysML and ISO STEP AP233 Systems Engineering standards. OMG SysML is a UML-based language and notation for use by System Engineers (SEs) as they define Systems of Systems, Systems Architectures and other SE artefacts. ISO STEP AP233, formally ISO 10303-233 standardized in ISO TC184/SC4 Industrial Data, is the Systems Engineering part of a larger suite of International Standard information models supporting the integration and exchange of engineering data.

SysML and Scenario

The scope of the project was the SysML Assembly capability. The core concepts involved in our test of that capability are:

  • Parts
  • Ports
  • Assembly-Component relationships
  • Connectors between Parts and/or Ports

A low-pass filter circuit was used as a test case for this project, as shown in Figure 1. This example was based on an early version of the SysML specification, and was used to define elements for translation from SysML to AP233, not to provide a complete example of a circuit model in SysML.

Figure 1 – SysML Assembly Diagram Example

AP233

A summary of the SysML Assembly/AP233 mapping used in the project is shown in Table 1. It should be noted that some of AP233 concepts used are undergoing ballot as of October 2004 and may change. Therefore, the SysML/AP233 mapping could change to take advantage of improvements in the AP233 schema. It is also possible that new concepts are added to AP233 as it evolves and that those may align better with SysML Assemblies.

In Table 1, the → and ← characters between two AP233 entity types mean that there is a attribute (i.e. UML Association) pointing from one entity type to the other. So, Product View Definition→Product Version→Product means that and instance of Product View Definition refers to an instance or Product Version which refers to an instance of Product (i.e. it takes three entity instances in AP233 to represent the SysML Part concept). The actual names of the attribute/association are omitted. The bold AP233 entity types are the main concept into which the SysML concept maps.

SysML Concept AP233 Concept
Part Product View Definition→Product Version→Product
Port Product View Definition of Assembly←Connector On→Interface Connector Definition→Interface Connector Version→Interface Connector

Assembly

Product View Definition→Product Version→Product

Whole-Part Relationship between Part or Part and Assembly

Product View Definition of Assembly←Next Assembly Usage→Product View Definition of Part or Port

Role of Part in Assembly

Next Assembly Usage.Location Indicator

Connector

Interface Connector Definition←Interface Connection→Interface Connector Definition

Multiplicity of Whole-Part Relationship

For this project, UML Multiplicity was mapped as string-valued quantities (e.g. '[1..*]'). An approach for this should be agreed and standardized somewhere, probably as AP233 Reference Data.

Next Assembly Usage.Quantity→Value With Unit→Unit and →Any String Value

Unit.Name='UML Multiplicity'

Attribute

Note that only Attributes with numerical values are described in this mapping. AP233 does support other kinds of Property Value Representation.

Product View Definition of Part←Assigned Property←Property Representation→Property Value Representation→Numerical Item With Unit→Unit

The fact that the diagram represents the design of a filter circuit.

These values need to be agreed and standardized somewhere, probably as AP233 Reference Data.

View Definition Context.Application Domain='Electric Circuits'
View Definition Context.Life Cycle Stage ='design'

Every Product View Definition and Interface Connector Definition→View Definition Context

Table 1 – SysML/AP233 Mapping Summary

Information Technology

A secondary objective of the testing was to consider aspects of various information technologies that might be applied to the intergration and interoperability of data and tools in the Systems Engineering domain.

SysML is an extension of UML 2. The OMG has also standardized the XML Metadata Interchange (XMI) format aimed at providing a way to extract and interchange UML-based models from UML-based software systems. The Sparx Systems Enterprise Architect UML tool was used in our project as it includes an early, prototype implementation of some UML 2/SysML concepts and also has an XMI export capability.

ISO AP233 is one of the STEP (Standard for the Exchange of Product Data) series of standards and as such, is written using the ISO EXPRESS information modeling language. In order to make that information model understandable by the SysML/UML community, the EXPRESS was translated into UML using an open source tool developed as part of the EXPRESS for Free project (see www.exff.org). That tool produces an XMI file containing the UML equivalent of the EXPRESS schema. For this project, the XMI format understood by the Gentleware Poseidon UML tool was used. Poseidon can import the XMI file and allow a user to drag-and-drop the UML model elements onto UML diagrams.

Several in the ISO STEP community are investigating the use of Semantic Web technology. As part of that investigation, the EXPRESS for Free project also includes the ability to generate an ontology written in the W3C Web Ontology Language (OWL) from an EXPRESS schema. In fact, the translation from EXPRESS to OWL is based on the EXPRESS to UML translation and so the result is a UML model and OWL ontology both driven from the EXPRESS schema. The AP233 schema subset supporting SysML Assemblies was translated in OWL and that ontology was used as the target in the SysML to AP233 translation. The SysML to AP233 translation generates OWL Individuals based on the AP233 OWL Ontology. We use the Stanford University Protégé tool and its OWL plug-in to read and verify the AP233 OWL Ontology and generated AP233 OWL Individuals. Figure 2 shows the various translations and transformations produced by the project.

Figure 2 – Transformations and Translations

Project Results

AP233 can support the integration and exchange of SysML Assemblies, at least within the scope of our test case. The project did, however, uncover potential gaps in the AP233 concepts, which have been raised as issues with the development team. For example, in SysML a Connector can relate Parts and/or Ports but in AP233 the equivalent of a SysML Connector can only relate the equivalent of Ports.

A mix of information technologies can be used and are useful in the Systems Engineering domain. Our project used SysML, UML, EXPRESS and OWL. We chose the XML representations of these languages for our investigation which allowed the transforms and translations to be implemented entirely using XSLT.

The approach taken in this project can be beneficial in other scenarios. For example, although SysML is an extension of UML, many other Systems Engineering tools can produce XML-based datasets. Those tools can be integrated with SysML tools using the AP233 neutral data exchange approach. Tools that support XML representations of their data, even by export processes, enable a powerful suite of software to be applied to the problem of systems integration and data exchange.