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)..

ex cargschema
Figure 1. Complete schema-level model for Registration Authority example (Page 1 of 1).

The schema \$tt "registration_authority"\$ is the primary schema. It references the noted items from the \$tt "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 \$tt "calendar"\$ schema. These may be rules, functions or procedures but again the diagram cannot show these; alternatively, the entire schema may be referenced.

The \$tt "auxiliary"\$ schema references at least two items from the \$tt "calendar"\$ schema. Rules, functions and procedures may also be referenced, but this cannot be discerned via EXPRESS-G.

The \$tt "calendar"\$ schema is self-contained as it neither uses nor references any other schema.

An entity-level model for the \$tt "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 \$tt "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 \$tt "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 \$tt "registration_authority"\$ schema and the entities and types in it.

ex cargreg
Figure 2. Complete entity-level model of the Registration Authority schema (Page 1 of 1).

There are three entities altogether, namely \$tt "send_message"\$, \$tt "history"\$ and \$tt "authorized_manufacturer"\$. There are constraints on the two latter entities. The entity \$tt "authorized_manufacturer"\$ is a subtype of the entity \$tt "manufacturer"\$ which is defined in the \$tt "auxiliary"\$ schema.

There are no types defined within the schema.

The auxiliary schema

The \$tt "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.

ex cargaux1
Figure 3. Complete entity-level model of the Auxiliary schema (Page 1 of 2).
ex cargaux2
Figure 4. Complete entity-level model of the Auxiliary schema (Page 2 of 2).

The schema contains the following entities:

  • \$tt "car"\$

  • \$tt "car_model"\$

  • \$tt "destroyed_car"\$, which is a subtype of \$tt "car"\$

  • \$tt "garage"\$, which is a subtype of \$tt "named_owner"\$

  • \$tt "group"\$, which is a subtype of \$tt "owner"\$

  • \$tt "manufacturer"\$, which is a subtype of \$tt "named_owner"\$

  • \$tt "named_owner"\$, which is an abstract supertype and also a subtype of \$tt "owner"\$. It puts a \$tt "OneOf"\$ constraint on its subtypes.

  • \$tt "owner"\$, which is an abstract supertype and puts a \$tt "OneOf"\$ constraint on its subtypes.

  • \$tt "person"\$, which is a subtype of \$tt "named_owner"\$

  • \$tt "transfer"\$

It also contains the following types:

  • \$tt "identification_no"\$, a defined data type with a base-type of \$tt "String"\$

  • \$tt "fuel_consumption"\$, a defined data type with a base-type of \$tt "Real"\$

  • \$tt "name"\$, a defined data type with a base-type of \$tt "String"\$

The calendar schema

Figure Complete entity-level model of Calendar schema (Page 1 of 1). shows the entities and types within the \$tt "calendar"\$ schema.

ex cargcal
Figure 5. Complete entity-level model of Calendar schema (Page 1 of 1).

There is one entity called \$tt "date"\$ and one enumeration type called \$tt "months"\$.