Summary
This first part of the EXPRESS course covers the following topics:
What is information, why do we need information models, and what is an information model?
EXPRESS background
STEP architecture
TYPE
ENTITY
FUNCTION
SCHEMA
Introduction
What is information?
EXPRESS is concerned with the storing and transmitting information in computer systems. In particular, information about engineering data and processes.
- Information definition
knowledge of ideas, facts and/or processes.
Here are some attributes of information:
Information can be exchanged between partners.
Exchange may be real time or delayed.
Information storage is a special case of communication.
What is an information model?
Because we are dealing with computer systems we need a precise definition of the information of interest. One goal is to be able to exchange information between Computer Aided Design (CAD), Computer Aided Engineering (CAE), Computer Aided Manufacturing (CAM), etc., systems so they can interoperate.
The model may describe things in general, for example an animal has legs, and there can be data corresponding to the model about particular things — my cat Jessie has three legs (but she can still catch birds).
- Information Model (IM) definition
formal description of types (classes) of ideas, facts and processes which together form a model of a portion of interest of the real world.
Here are some attributes of an information model:
If a model is written in EXPRESS or any other computer sensible representation, it has the additional property of being computer processible.
An information model may be instantiated or populated to represent particular ideas, facts and processes.
An information model that is specialized to take account of a particular instantiation method is a concrete model. One that is implementation independent is a conceptual model.
This is a somewhat formal definition, but then we are going to be spending a lot of time with formal models and modeling.
It is intended to enable unambiguous communication about a limited topic (or range of topics).
The purpose of an information model is to identify clearly the objects in a ‘Universe of Discourse’ in order to enable people (and potentially computer systems) to communicate precisely about a domain of common interest.
An information model is composed of:
objects
relationships
constraints
which, taken together, provide a complete and unambiguous formal representation of a Universe of Discourse.
Why formal models?
In everyday conversation, and writing, there can be many ambiguities and we are good at deciding which meaning is meant. Computers are notoriously bad at this.
We tend to use the surrounding context to help in disambiguation and if this is missing we have difficulties.
Look at this list:
Time flies like an arrow.
Fruit flies like a banana.
Joe saw the man with the telescope.
Braces
- UK
Hold up one’s trousers.
- USA
Adjust one’s teeth.
The date 1-3-91
- UK
1st March 1991 (or is it 1891?)
- USA
3rd January 1991
The first two example sentences are not ambiguous (to us) but looking at the pair…
The third sentence is ambiguous just by itself.
Even a single word (braces) can be ambiguous.
Numerical data (1-3-91) can be ambiguous.
There are exercises about ambiguities in the Exercise section.
An information model is NOT…
A model uses, or is associated with, various more common computer techniques, but it is essentially for human consumption.
An information model is NOT:
a database definition (even though terms such as schema are common)
a data structure definition (even though data instances of the model could be structured)
a program (even though procedural code and algorithms may be in the model).
A populated instance of an IM may be maintained using DB or similar technologies. IM constraints are often implemented via programmatic code.
Description methods of information models
Historically, formal information models have been specified using either a written (lexical) language or using a graphical (drawings) language.
The graphic constructs are usually boxes and lines connecting the boxes, together with some annotations on the diagram.
A graphical model can easily be the size of a wall, which might cause difficulties if you want to put one in a report.
An Information Model may be described:
- Textually
using a formally defined lexical language. Examples include EXPRESS, IISyCL (Integrated Information Systems Constraint Language), VDM (Vienna Development Method), etc.
- Graphically
using an iconic or diagrammatic language such as EXPRESS-G, IDEF1X, OMT, UML, etc.
Note | Supplementing textual models with diagrams can help the reader’s understanding. Graphical models nearly always require supplemental text for completeness. |