EXPRESS (data modeling language)

Fig 1. Requirements of a database for an audio compact disc (CD) collection, presented in EXPRESS-G notation.

EXPRESS is a standard for generic data modeling language for product data. EXPRESS is formalized in the ISO Standard for the Exchange of Product model STEP (ISO 10303), and standardized as ISO 10303-11.[1]

Overview

Data models formally define data objects and relationships among data objects for a domain of interest. Some typical applications of data models include supporting the development of databases and enabling the exchange of data for a particular area of interest. Data models are specified in a data modeling language.[2] EXPRESS is a data modeling language defined in ISO 10303-11, the EXPRESS Language Reference Manual.[3]

An EXPRESS data model can be defined in two ways, textually and graphically. For formal verification and as input for tools such as SDAI the textual representation within an ASCII file is the most important one. The graphical representation on the other hand is often more suitable for human use such as explanation and tutorials. The graphical representation, called EXPRESS-G, is not able to represent all details that can be formulated in the textual form.

EXPRESS is similar to programming languages such as Pascal. Within a SCHEMA various datatypes can be defined together with structural constraints and algorithmic rules. A main feature of EXPRESS is the possibility to formally validate a population of datatypes - this is to check for all the structural and algorithmic rules.

EXPRESS-G

EXPRESS-G is a standard graphical notation for information models.[4] It is a companion to the EXPRESS language for displaying entity and type definitions, relationships and cardinality.[5] This graphical notation supports a subset of the EXPRESS language. One of the advantages of using EXPRESS-G over EXPRESS is that the structure of a data model can be presented in a more understandable manner. A disadvantage of EXPRESS-G is that complex constraints cannot be formally specified. Figure 1 is an example. The data model presented in figure could be used to specify the requirements of a database for an audio compact disc (CD) collection.[2]

Simple example

Fig 2. An EXPRESS-G diagram for Family schema

A simple EXPRESS data model looks like fig 2, and the code like this:

SCHEMA Family;

ENTITY Person
   ABSTRACT SUPERTYPE OF (ONEOF (Male, Female));
     name: STRING;
     mother: OPTIONAL Female;
     father: OPTIONAL Male;
END_ENTITY;

ENTITY Female
   SUBTYPE OF (Person);
END_ENTITY;

ENTITY Male
   SUBTYPE of (Person);
END_ENTITY;

END_SCHEMA;

The data model is enclosed within the EXPRESS schema Family. It contains a supertype entity Person with the two subtypes Male and Female. Since Person is declared to be ABSTRACT only occurrences of either (ONEOF) the subtype Male or Female can exist. Every occurrence of a person has a mandatory name attribute and optionally attributes mother and father. There is a fixed style of reading for attributes of some entity type:

  • a Female can play the role of mother for a Person
  • a Male can play the role of father for a Person

EXPRESS Building blocks

Datatypes

EXPRESS offers a series of datatypes, with specific data type symbols of the EXPRESS-G notation:[2]

  • Entity data type: This is the most important datatype in EXPRESS. It is covered below in more detail. Entity datatypes can be related in two ways, in a sub-supertype tree and/or by attributes.
  • Enumeration data type: Enumeration values are simple strings such as red, green, and blue for an rgb-enumeration. In the case that an enumeration type is declared extensible it can be extended in other schemas.
  • Defined data type: This further specializes other datatypes—e.g., define a datatype positive that is of type integer with a value > 0.
  • Select data type: Selects define a choice or an alternative between different options. Most commonly used are selects between different entity_types. More rare are selects that include defined types. In the case that an enumeration type is declared extensible, it can be extended in other schemas.
  • Simple data type
    • String: This is the most often used simple type. EXPRESS strings can be of any length and can contain any character (ISO 10646/Unicode).
    • Binary: This data type is only very rarely used. It covers a number of bits (not bytes). For some implementations the size is limited to 32 bit.
    • Logical: Similar to the Boolean datatype a logical has the possible values TRUE and FALSE and in addition UNKNOWN.
    • Boolean: With the Boolean values TRUE and FALSE.
    • Number: The number data type is a supertype of both, integer and real. Most implementations take uses a double type to represent a real_type, even if the actual value is an integer.
    • Integer: EXPRESS integers can have in principle any length, but most implementations restricted them to a signed 32 bit value.
    • Real: Ideally an EXPRESS real value is unlimited in accuracy and size. But in practice a real value is represented by a floating point value of type double.
  • Aggregation data type: The possible kinds of aggregation_types are SET, BAG, LIST and ARRAY. While SET and BAG are unordered, LIST and ARRAY are ordered. A BAG may contain a particular value more than once, this is not allowed for SET. An ARRAY is the only aggregate that may contain unset members. This is not possible for SET, LIST, BAG. The members of an aggregate may be of any other data type.

A few general things are to be mentioned for datatypes.

  • Constructed datatypes can be defined within an EXPRESS schema. They are mainly used to define entities, and to specify the type of entity attributes and aggregate members.
  • Datatypes can be used in a recursive way to build up more and more complex data types. E.g. it is possible to define a LIST of an ARRAY of a SELECT of either some entities or other datatypes. If it makes sense to define such datatypes is a different question.
  • EXPRESS defines a couple of rules how a datatype can be further specialized. This is important for re-declared attributes of entities.
  • GENERIC data types can be used for procedures, functions and abstract entities.

Entity-Attribute

Entity attributes allow to add "properties" to entities and to relate one entity with another one in a specific role. The name of the attribute specifies the role. Most datatypes can directly serve as type of an attribute. This includes aggregation as well.

There are three different kinds of attributes, explicit, derived and inverse attributes. And all these can be re-declared in a subtype. In addition an explicit attribute can be re-declared as derived in a subtype. No other change of the kind of attributes is possible.

  • Explicit attributes are those with direct values visible in a STEP-File.
  • Derived attributes get their values from an expression. In most cases the expression refers to other attributes of THIS instance. The expression may also use EXPRESS functions.
  • Inverse attributes do not add "information" to an entity, but only name and constrain an explicit attribute to an entity from the other end.

Specific attribute symbols of the EXPRESS-G notation:[2]

Supertypes and subtypes

An entity can be defined to be a subtype of one or several other entities (multiple inheritance is allowed!). A supertype can have any number of subtypes. It is very common practice in STEP to build very complex sub-supertype graphs. Some graphs relate 100 and more entities with each other.

An entity instance can be constructed for either a single entity (if not abstract) or for a complex combination of entities in such a sub-supertype graph. For the big graphs the number of possible combinations is likely to grow in astronomic ranges. To restrict the possible combinations special supertype constraints got introduced such as ONEOF and TOTALOVER. Furthermore, an entity can be declared to be abstract to enforce that no instance can be constructed of just this entity but only if it contains a non-abstract subtype.

Algorithmic constraints

Entities and defined data types may be further constrained with WHERE rules. WHERE rules are also part of global rules. A WHERE rule is an expression, which must evaluate to TRUE, otherwise a population of an EXPRESS schema, is not valid. Like derived attributes these expression may invoke EXPRESS functions, which may further invoke EXPRESS procedures. The functions and procedures allow formulating complex statements with local variables, parameters and constants - very similar to a programming language.

The EXPRESS language can describe local and global rules. For example:

 ENTITY area_unit
   SUBTYPE OF (named_unit);
 WHERE
   WR1: (SELF\named_unit.dimensions.length_exponent = 2) AND
        (SELF\named_unit.dimensions.mass_exponent = 0) AND
        (SELF\named_unit.dimensions.time_exponent = 0) AND
        (SELF\named_unit.dimensions.electric_current_exponent = 0) AND
        (SELF\named_unit.dimensions.
          thermodynamic_temperature_exponent = 0) AND
        (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND
        (SELF\named_unit.dimensions.luminous_intensity_exponent = 0);
 END_ENTITY; -- area_unit

This example describes that area_unit entity must have square value of length. For this the attribute dimensions.length_exponent must be equal to 2 and all other exponents of basic SI units must be 0.

Another example:

 TYPE day_in_week_number = INTEGER;
 WHERE
   WR1: (1 <= SELF) AND (SELF <= 7);
 END_TYPE; -- day_in_week_number

That is, it means that week value cannot exceed 7.

And so, you can describe some rules to your entities. More details on the given examples can be found in ISO 10303-41

See also

ISO related subjects
  • ISO 10303: ISO standard for the computer-interpretable representation and exchange of industrial product data.
  • ISO 10303-21: Data exchange form of STEP with an ASCII structure
  • ISO 10303-22: Standard data access interface, part of the implementation methods of STEP
  • ISO 10303-28: STEP-XML specifies the use of the Extensible Markup Language (XML) to represent EXPRESS schema
  • ISO 13584-24: The logical model of PLIB is specified in EXPRESS
  • ISO 13399: ISO standard for cutting tool data representation and exchange
  • ISO/PAS 16739: Industry Foundation Classes is specified in EXPRESS
  • List of STEP (ISO 10303) parts
Other related subjects

References

Public Domain This article incorporates public domain material from the National Institute of Standards and Technology

  1. ^ ISO 10303-11:2004 Industrial automation systems and integration -- Product data representation and exchange -- Part 11: Description methods: The EXPRESS language reference manual
  2. ^ a b c d Michael R. McCaleb (1999). "A Conceptual Data Model of Datum Systems". National Institute of Standards and Technology. August 1999.
  3. ^ ISO International Standard 10303-11:1994, Industrial automation systems and integration — Product data representation andexchange — Part 11: Description methods: The EXPRESS language reference manual, International Organization for Standardization, Geneva, Switzerland (1994).
  4. ^ 4 EXPRESS-G Language Overview Archived 2008-11-09 at the Wayback Machine. Accessed 9 Nov 2008.
  5. ^ For information on the EXPRESS-G notation, consult Annex B of the EXPRESS Language Reference Manual (ISO 10303-11)

Further reading

  • ISO 10303, the main page for STEP, the Standard for the Exchange of Product model data
  • Douglas A. Schenck and Peter R. Wilson, Information Modeling the EXPRESS Way, Oxford University Press, 1993, ISBN 978-0-19-508714-7
  • EXPRESS Language Foundation, an organization devoted to promoting the EXPRESS language family

Read other articles:

Bundesarchiv Bild 101III-Moebius-029-19, Norwegen, Besuch Heinrich Himmler Selama Perang Dunia I, Kekaisaran Jerman merupakan salah satu Kekuatan utama yang mengalami kekalahan dalam perang. Perang ini dipicu setelah Jerman mendeklarasi perang melawan Serbia oleh sekutunya, yaitu Austria dan Hungaria. Pasukan Jerman melawan Sekutu di front timur dan barat, meskipun wilayah Jerman sendiri relatif aman dari serbuan invasi sebagian besar perang, kecuali untuk periode yang singkat pada tahun 1914 ke…

2017 song by Nathan Trent Running on AirSingle by Nathan TrentReleased26 February 2017 (2017-02-26)GenrePopLength2:48LabelORF-Enterprise Musikverlag [de]Songwriter(s)Nathan TrentBernhard PenziasNathan Trent singles chronology Like It Is (2016) Running on Air (2017) Good Vibes (2017) Eurovision Song Contest 2017 entryCountryAustriaArtist(s)Nathan TrentLanguageEnglishComposer(s)Nathan TrentBernhard PenziasLyricist(s)Nathan TrentBernhard PenziasFinals performanceSemi-fin…

费迪南德·马科斯Ferdinand Marcos 菲律賓第10任總統任期1965年12月30日—1986年2月25日副总统費爾南多·洛佩斯(1965-1972)阿圖羅·托倫蒂諾前任奧斯達多·馬卡帕加爾继任柯拉蓉·阿基诺 菲律賓第4任總理任期1978年6月12日—1981年6月30日前任佩德羅·帕特諾(1899年)继任塞薩爾·維拉塔 个人资料出生1917年9月11日 美屬菲律賓北伊羅戈省薩拉特(英语:Sarrat)逝世1989年9月28日(1989…

2016年美國總統選舉 ← 2012 2016年11月8日 2020 → 538個選舉人團席位獲勝需270票民意調查投票率55.7%[1][2] ▲ 0.8 %   获提名人 唐納·川普 希拉莉·克林頓 政党 共和黨 民主党 家鄉州 紐約州 紐約州 竞选搭档 迈克·彭斯 蒂姆·凱恩 选举人票 304[3][4][註 1] 227[5] 胜出州/省 30 + 緬-2 20 + DC 民選得票 62,984,828[6] 65,853,514[6] 得…

 烏克蘭總理Прем'єр-міністр України烏克蘭國徽現任杰尼斯·什米加尔自2020年3月4日任命者烏克蘭總統任期總統任命首任維托爾德·福金设立1991年11月后继职位無网站www.kmu.gov.ua/control/en/(英文) 乌克兰 乌克兰政府与政治系列条目 宪法 政府 总统 弗拉基米尔·泽连斯基 總統辦公室 国家安全与国防事务委员会 总统代表(英语:Representatives of the President of Ukraine) 总理…

  关于与「內閣總理大臣」標題相近或相同的条目页,請見「內閣總理大臣 (消歧義)」。 日本國內閣總理大臣內閣總理大臣紋章現任岸田文雄自2021年10月4日在任尊称總理、總理大臣、首相、阁下官邸總理大臣官邸提名者國會全體議員選出任命者天皇任期四年,無連任限制[註 1]設立法源日本國憲法先前职位太政大臣(太政官)首任伊藤博文设立1885年12月22日,​…

ArgonPoster promosiJudul asli아르곤 GenreKomedi romantisSci-fiWorkplace[1]PembuatStudio DragonDitulis olehJoon Young-shinJoo Won-gyuShin Ha-eunSutradaraLee Yoon-jungPemeranKim Joo-hyukChun Woo-heeNegara asalKorea SelatanBahasa asliKoreaJmlh. episode8ProduksiProduser eksekutifPark Ho-sikSong Jung-wooProduserJo Moon-jooRumah produksiDaydream EntertainmentDistributortvNRilis asliJaringantvNFormat gambar1080i (HDTV)Format audioDolby DigitalRilis4 September (2017-09-04) –26 Sep…

قانون بويل   النوع قوانين الغازات  الصيغة P ∝ 1 V {\displaystyle P\propto {\frac {1}{V}}} P V = k {\displaystyle PV=k} P 1 V 1 = P 2 V 2 {\displaystyle P_{1}V_{1}=P_{2}V_{2}}   جزء من ديناميكا حرارية  سميت باسم روبرت بويل  تعديل مصدري - تعديل   العلاقة بين الضغط والحجم بثبات درجة الحرارة والكمية. قانون بويل هو إحدى ق…

Lists of Italian films 1910s 1910 1911 1912 1913 19141915 1916 1917 1918 1919 1920s 1920 1921 1922 1923 19241925 1926 1927 1928 1929 1930s 1930 1931 1932 1933 19341935 1936 1937 1938 1939 1940s 1940 1941 1942 1943 19441945 1946 1947 1948 1949 1950s 1950 1951 1952 1953 19541955 1956 1957 1958 1959 1960s 1960 1961 1962 1963 19641965 1966 1967 1968 1969 1970s 1970 1971 1972 1973 19741975 1976 1977 1978 1979 1980s 1980 1981 1982 1983 19841985 1986 1987 1988 1989 1990s 1990 1991 1992 1993 19941995 19…

Частина серії проФілософіяLeft to right: Plato, Kant, Nietzsche, Buddha, Confucius, AverroesПлатонКантНіцшеБуддаКонфуційАверроес Філософи Епістемологи Естетики Етики Логіки Метафізики Соціально-політичні філософи Традиції Аналітична Арістотелівська Африканська Близькосхідна іранська Буддійсь…

NGC 1656   الكوكبة النهر[1]  رمز الفهرس NGC 1656 (الفهرس العام الجديد)2MASX J04455340-0508121 (Two Micron All-Sky Survey, Extended source catalogue)PGC 15949 (فهرس المجرات الرئيسية)MCG-01-13-005 (فهرس المجرات الموروفولوجي)GSC 04744-00421 (دليل النجم المفهرس)6dFGS gJ044553.4-050812 (6dF Galaxy Survey)LEDA 15949 (ليون-ميودون قاعدة بيانات خارج المجرة)Gaia …

Кружевной узел (−2,3,7)[англ.] имеет две правосторонние скрутки в первом плетении[англ.], три левосторонние скрутки во втором и семь левосторонних скруток в третьем. В теории узлов кружевное зацепление (или крендельное зацепление) — это специальный вид зацепления. Кружевн…

Daizen Maeda Informasi pribadiNama lengkap Daizen Maeda[1]Tanggal lahir 20 Oktober 1997 (umur 26)[1]Tempat lahir Prefektur Osaka, JepangTinggi 173 cm (5 ft 8 in)[2]Posisi bermain PenyerangInformasi klubKlub saat ini CelticNomor 38Karier junior2013–2015 Sekola Tinggi TakiKarier senior*Tahun Tim Tampil (Gol)2016–2021 Matsumoto Yamaga 55 (8)2017 → Mito HollyHock (pinjaman) 36 (13)2019–2020 → Marítimo (pinjaman) 23 (3)2020 → Yokohama F. Marino…

American college football season 2003 Toledo Rockets footballConferenceMid-American ConferenceDivisionWest DivisionRecord8–4 (6–2 MAC)Head coachTom Amstutz (3rd season)Offensive coordinatorRob Spence (3rd season)Defensive coordinatorLou West (3rd season)Home stadiumGlass BowlSeasons← 20022004 → 2003 Mid-American Conference football standings vte Conf Overall Team   W   L     W   L   East Division No. 10 Miami (OH…

English luxury fashion brand This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. Please help improve it by replacing them with more appropriate citations to reliable, independent, third-party sources. (August 2013) (Learn how and when to remove this message) J.Barbour & Sons,LimitedA button on a Barbour JacketCompany typePrivateIndustryFashionFounded1894; 130 years ago (1…

تشابهمعلومات عامةصنف فرعي من تحويل تآلفيdilation (en) geometric property (en) النقيض اختلاف تعديل - تعديل مصدري - تعديل ويكي بيانات الأشكال ذات اللون المتماثل هي أشكال متشابهة. يُقال عن شكلين أنهما متشابهان إذا كان أحدهما مطابقا للآخر بعد إجراء تحجيم عليه (تكبير أو تصغير)، مع دوران أو نقل إضا…

Voce principale: AFP Giovinazzo. AFP GiovinazzoStagione 1979-1980Sport hockey su pista Squadra AFP Giovinazzo Allenatore Gianbattista Massari Presidente? Serie A Campione d'Italia (in Coppa dei Campioni) Coppa ItaliaSemifinale Coppa delle Coppe Vincitore StadioPalasport di Giovinazzo 1979 1980-1981 Questa voce raccoglie le informazioni riguardanti l'AFP Giovinazzo nelle competizioni ufficiali della stagione 1979-1980. Indice 1 Maglie e sponsor 2 Rosa 3 Bibliografia 4 Collegamenti estern…

Soul music label This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Philly Groove Records – news · newspapers · books · scholar · JSTOR (June 2015) (Learn how and when to remove this message) Philly Groove RecordsParent companyReservoir MediaFounded1967; 57 years ago (1967)FounderStan Watson, Sam…

Overview of tourism in Gujarat, India This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article uses bare URLs, which are uninformative and vulnerable to link rot. Please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style. Several templates and tools are available to assist in formatting, such as reFill (documentat…

Rivalry between two English football clubs Arsenal F.C. v Chelsea F.C.Arsenal and Chelsea players prepare for a corner kick during a Premier League match on 10 May 2009.Other namesNorth West London derbyLocationLondonTeamsArsenalChelseaFirst meeting9 November 1907Football League First DivisionChelsea 2–1 ArsenalLatest meeting23 April 2024Premier LeagueArsenal 5–0 ChelseaStadiumsEmirates Stadium (Arsenal)Stamford Bridge (Chelsea)StatisticsMeetings total209Most winsArsenal (83)Top scorerDidier…