DEXlib was created to act as both a repository for DEXs built on ISO 10303-239 (Product life cycle support (PLCS) and as a development environment. The first edition was based on XML supported by a number of specialist tools and followed the pattern set by ISO 10303 in using the EXPRESS language as its basis.
The opportunity has also been taken, based on the experience of the first edition of DEXlib to simplify the user experience and the underlying structures and code. In particular:
Taken together the above plus other changes are intended to make DEX development, understanding and usage easier and closer to mainstream approaches.
The data model defined by ISO 10303-239 (PLCS) is large and has been designed to be flexible. This is necessary to allow the model to meet the many variations in the organization of the information relevant to Product Life Cycle Support. However, this has the consequence that there can be different ways to approach the same or similar business requirements. In order ensure as much commonality as practicable, it was concluded that patterns and guidance should be provided for how to handle common low level business objects. These patterns are referred to as Templates.
It was then recognised that such Templates are often best defined by building on each other. Furthermore, the same approach of defining a pattern that resolves to be a model compatible with ISO 10303-239 is required at the highest level of business need, dealing with exchanges and messages, i.e. the content of a Data Exchange Specification (DEX). At this level, a mapping is defined from the business objects into the lower level business objects (defined as templates).
Initially a purpose built approach was applied to documenting templates. Then it became clear that Templates could be supported using the OMG SysML™ graphical language. SysML has been designed to document systems built from sub-systems and those systems are themselves defined using other systems. At each level, the systems are fully defined by their interfaces and treated as a black-box to facilitate reuse. At the same time SysML provides the means to define the connection (mapping) from the interfaces to the internal details. The internal details can themselves involve further subsystems.
In PLCSlib SysML is used to define the business object view of a Template and then the mapping to the low level PLCS objects or other templates is specified with the internal details. The approach is then fully supported by SysML tools which ensure consistency as each Template is developed. This is all described with examples in the Template overview section. .
Each DEX is modelled as a system whose external interface is a business object model and whose internal model is a combination of PLCS objects and templates. Each Template also has an external interface stated in business objects and an internal model. The external models match the business object model for the DEX. The combination of all the internal models defines a subset of the full PLCS model, supported by reference data. The SysML diagrams also show the mapping from the external interfaces to the internal models.