Introduction
This document contains a complete EXPRESS-G representation of the Car Registration Authority example model. There are details which cannot be expressed using the EXPRESS-G iconic language but which can be described using the EXPRESS lexical language.
An EXPRESS model is a primary representation and an EXPRESS-G model is a secondary representation.
Model overview
The model consists of three schemas, as shown in Figure Complete schema-level model for Registration Authority example (Page 1 of 1)..
The schema registration_authority is the primary schema.
It references the noted items from the auxiliary schema;
some functions, rules or
procedures may also be referenced from this schema as well, but the diagram
cannot show these. This schema also references one or more items from the
calendar schema. These may be rules,
functions or procedures but again
the diagram cannot show these; alternatively, the entire schema may be
referenced.
The auxiliary schema references at least two items from the
calendar schema. Rules, functions and procedures may also be
referenced, but this cannot be discerned via EXPRESS-G.
The calendar schema is self-contained
as it neither uses nor references any other schema.
An entity-level model for the
registration_authority schema is given
in Figure Complete entity-level model of the Registration Authority schema (Page 1 of 1).. The entity-level
model for the auxiliary
schema is displayed in Figures Complete entity-level model of the Auxiliary schema (Page 1 of 2).
and Complete entity-level model of the Auxiliary schema (Page 2 of 2).. The
internals of the calendar schema are shown
in Figure Complete entity-level model of Calendar schema (Page 1 of 1)..
The registration authority schema
Figure Complete entity-level model of the Registration Authority schema (Page 1 of 1). shows the
registration_authority schema and
the entities and types in it.
There are three entities altogether, namely send_message,
history and authorized_manufacturer.
There are constraints on
the two latter entities. The entity authorized_manufacturer is a
subtype of the entity manufacturer which is defined in the
auxiliary schema.
There are no types defined within the schema.
The auxiliary schema
The auxiliary schema contains too many items to be displayed on a single
page. Figures Complete entity-level model of the Auxiliary schema (Page 1 of 2). and Complete entity-level model of the Auxiliary schema (Page 2 of 2).
show the entities and types that are contained in the schema.
The schema contains the following entities:
-
car -
car_model -
destroyed_car, which is a subtype ofcar -
garage, which is a subtype ofnamed_owner -
group, which is a subtype ofowner -
manufacturer, which is a subtype ofnamed_owner -
named_owner, which is an abstract supertype and also a subtype ofowner. It puts aOneOfconstraint on its subtypes. -
owner, which is an abstract supertype and puts aOneOfconstraint on its subtypes. -
person, which is a subtype ofnamed_owner -
transfer
It also contains the following types:
-
identification_no, a defined data type with a base-type ofString -
fuel_consumption, a defined data type with a base-type ofReal -
name, a defined data type with a base-type ofString
The calendar schema
Figure Complete entity-level model of Calendar schema (Page 1 of 1). shows the entities and types within the
calendar schema.
There is one entity called date and one enumeration type called
months.