Cc: jfulton@redwood.rt.cs.boeing.com
Jim,
Here is an abstract and outline of a paper I would like to be considered for
inclusion in the workshop.
Integrated Standards as a User Requirement
Abstract: Most standards organizations are able to focus on a particular
problem and to define a standard that solves that one problem. Other
standards organizations may address one problem at a time, but cannot
succeed in their overall goals unless they provide an integrated solution to
several problems. Among these that I have worked with are
- ISO TC184/SC4--Industrial Data
- ISO/IEC JTC1/SC7--Software Engineering
- ISO/IEC JTC1/SC21/WG3--Database
Although TC184/SC4 is alone among the three in having to define standards
for specific industrial domains, it has had to develop supporting standards
that, from the perspective of an industrial user, overlap with activities of
JTC1/SC7 and JTC1/SC21:
- All three are in various stages of defining standards for modeling data:
- ISO TC184/SC4--EXPRESS
- ISO/IEC JTC1/SC7--CDIF (and IDEF, if things go as planned)
- ISO/IEC JTC1/SC21/WG3 --CSMF
- All three are in various stages of defining standards for exchanging data models:
- ISO TC184/SC4--EXPRESS
- ISO/IEC JTC1/SC7--CDIF, plus use of other standards: IRDS, PCTE
- ISO/IEC JTC1/SC21/WG3--KIF, IRDS
- Two are in various stages of defining standards for model-driven data exchange:
- ISO TC184/SC4--ISO 10303-21
- ISO/IEC JTC1/SC21/WG3 -- Import/Export
- Two are in various stages of defining standards for model-driven data access:
- ISO TC184/SC4--ISO 10303-22 (SDAI)
- ISO/IEC JTC1/SC21/WG3--SQL (although the relationship to relational models is not part of the standard.
- All three are in various stages of figuring out how to incorporate object-oriented data sharing, when most of the (popular) work on the topic is being done outside ISO or IEC.
From the perspective of organizations that are potential users of these standards, the work of these three organizations does not yet fit into a harmonious, interoperable whole. In order for that two happen the following challenges have to be met.
- What is the essential information that must be captured in a data model to achieve the following functions, and how is that information represented in the various data modeling languages (this is equivalent to asking for a neutral meta-model for data modeling that is based on the functions to be performed by the data model and not on its syntax)?
- Verify formally whether a given collection of data is consistent with the model.
- Compile the data model into an import/export format for data exchange. (Part 21 of STEP provides a standard that has been implemented to do this for EXPRESS models.)
- Compile the data model into software modules that will read and write the standard import/export format in particular computing environments.
- Compile the data model into a database schema for a standard relational database, or for a standard object-oriented database. This question must be answered in such a way that it enables the model to control ALL of the features of the target database. (Part 11 of STEP provides a standard that has been implemented
to do this for EXPRESS models. A large number of CASE tools generate relational database schemas from their data models, but there is no standard that defines the relationship between those models and the relational database standard.)
- Compile the data model into a library of data access functions that can be called by software to access data in a way that preserves the consistency of the data with the data model. (Part 22 of STEP provides a standard to do this for EXPRESS models, but it is currently limited to single-user databases, and does not assure that transactions preserve integrity. SQL provides a standard for
access of the data defined in a relational schema, but not for the objects defined in models implemented by such a schema.)
- What is the essential information that must be captured in a process model to achieve the following functions, and how is that information represented in the various process modeling languages (this is
equivalent to asking for a neutral meta-model for process modeling that is based on the functions to be performed by the data model and not on its syntax)?
- Verify formally whether a given software module is consistent with the model that provides the specification of its function.
- Verify formally whether a the data operations performed by a process are consistent with data integrity rules defined in the model of that data.
- Compile the process model into a software module that implements
it. (Some CASE tools generate certain kinds of software from their process models, but there is no standard that defines the relationship between those models and the generated software.)
- How does a vendor develop a tool intended to operate on a "view" of a larger collection of data? This is essentially the "interoperability" question, but it concerns the semantics of interoperability rather than the mechanisms.
- What is the relationship between a view and the larger data collection? How is that relationship to be modeled?
- What are the operations a tool must provide if it is to function as a data server for a view defined in a model? I.e., what are the operations a tool may presume to be available if it is to function as a data client for a view defined in a model?
- To what extent is a tools expected to inforce the integrity constraints defined in the model of the view it implements?
- Industry often needs to apply a tool with its view to a particular business domain, often in the context of other tools with their own overlapping views. This often has two consequences:
- Users want to extend the tool view to see other data becomes related through the integration of the views.
- The original tool view becomes specialized, i.e., additional integrity constraints are required to assure that the data manipulated by the tool is properly related to the data manipulated by other tools.
Tools that allow such extensibility, and thereby facilitate interoperability with other tools without pre-planning, would provide what might be termed an "open data architecture". What standards
are needed to assist tool vendors in implementing such an architecture?
- How does a vendor define and communicate its view of data without compromising its proprietary rights?
- How does a vendor build a tool in such a way that it enables the representation of data that were not part of the view for which it was built, but which were related to that data in the
integration of the tool into an industrial context?
- How does a vendor build a tool in such a way that it enables the enforcement of integrity constraints that were not part of the view for which it was built, but which arose in the integration of the tool into an industrial context?
The meeting of these challenges requires the cooperative joint effort not
only of the organizations mentioned above, but of others that I know about
but have not participated in. A process needs to be put in place that will
facilitate the rapid emergence of such a joint effort.
* The above remarks do not necessarily reflect the position of The Boeing Company or any of its employees (including me)*