STEP/EXPRESS - Objektově orientovaný ISO standard pro výměnu výrobních dat a ještě o kousek víc! Ing. Martin Molhanec, CSc. Katedra elektrotechnologie Elektrotechnická fakulta České vysoké učení technické v Praze Technická 2, 166 27 PRAHA 6, Dejvice Česká Republika Tel.: (++420) 2 2435 2118, Fax: (++420) 2 2435 3949 E-mail:
[email protected] WWW:{http://k313.feld.cvut.cz, http://martin.feld.cvut.cz/~mmm} Abstract STEP je ISO 10303 standard pro výměnu výrobních dat. Jeho základem je objektově orientovaný jazyk EXPRESS. Pomocí standardu STEP/EXPRESS je možné popsat vlastnosti libovolného průmyslového výrobku ve formátu vhodném pro jeho elektronickou výměnu nebo archivaci. Cíl mého příspěvku je poskytnout váženému čtenáři základní informace o tomto standardu.
1. ÚVOD Proboha co to je? Proč chce někdo na konferenci o objektech vykládat o nějakém standardu pro výměnu výrobních dat! Co to má společného s programováním a objekty? Takové otázky si určitě mnozí z Vás, vážení čtenáři a posluchači mého příspěvku, zajisté položí. Ale ano, velice mnoho. Díky skutečnosti, že přestože duší objektový informatik, tak moje působnost je na katedře elektrotechnologie ČVUT-FEL v Praze. Jak jistě předpokládáte, katedra na které působím se zabývá – výrobou. A díky této skutečnosti jsem se dostal k referenci na tento zajímavý standard, který je nejen významným krokem v oblasti průmyslu – výroby, ale snad nejdokonalejším objektově orientovaným jazykem pro popis reálného světa kolem nás, se kterým jsem se zatím setkal. Že přeháním? Ale vůbec ne. Existuje mnoho konceptuálních modelů, ať již ER (Entity-Relationship) nebo OO (Object-Oriented), které definují svoji grafickou reprezentaci, ale žádný z nich nedefinuje svoji přesnou textovou reprezentaci. A pokud ano – žádný není ISO standardem. Ale pokud se mýlím, tak se rád poučím. V současné době snad nejdál v přesnosti vyjadřování došel „jazyk“ UML. Co mne navíc udivilo, je pak skutečnost, že STEP/EXPRESS definuje věci, o kterých se v objektovém světe sice mluví, ale většina modelů pro tyto skutečnosti nemá zatím své vyjadřovací prostředky. Je zajímavé, že svět STEP žije svým vlastním životem. Přestože se jedná z jedné strany o vysoce informatickou záležitost nesetkal jsem se s odkazem na tento standard zatím na žádné informatické konferenci, které jsem se zúčastnil. Nevím, jak je to na straně druhé, podle mých informací je standard STEP objektem zájmu zejména výrobních inženýrů, nicméně v oblasti působení mé domovské katedry o něm nikdo nic neví. Vzhledem k tomu, že se jedná o standard z informatického hlediska velice zajímavý, pokusím se o jeho stručný popis ve svém příspěvku.
2. STEP Standard STEP, jak bylo předesláno, je ISO standard (ISO 10303) pro výměnu výrobních dat. Popisuje tedy strukturu, formát, prezentaci a způsob výměny těchto dat. Jeho využití je během celého životního cyklu výrobku. To znamená od jeho analýzy, návrhu, výroby až po řízení kvality a testování výrobku. Standard STEP podporuje mnoho vlastností výrobků, jako jeho geometrii, topologii, vztahy mezi díly, atributy (vlastnosti), sestavování (montáž) a také konfigurační řízení výrobků. Důležitou vlastností standardu STEP je jeho rozšiřitelnost, ta umožňuje STEP rozšiřovat do nových oblastí použití a obohacovat jeho vlastnosti o nové možnosti, tak jak se objevují ve světě okolo nás, příkladem budiž například vznik standardu pro využití jazyka Java nebo XML. Proč je standard STEP tak důležitý? Existuje pro to několik dobrých důvodů. Je to standard ve vývoji. Je postaven na objektově orientovaném jazyku EXPRESS a může být použit v libovolné oblasti průmyslu. Standard, který se neustále vyvíjí, nemůže být nikdy zastaralý. Základem STEP standardu je popisný objektově orientovaný jazyk, pomocí kterého je možné popsat strukturu libovolného inženýrského produktu. Tento speciální jazyk se nazývá EXPRESS. Aplikační protokoly potom definují formální model pro určitou oblast použití. Aplikační protokoly jsou dostupné pro mechanické a elektrotechnické aplikace, kompozitní materiály, automatizovaný návrh a výrobu, stavitelství lodí, letecký průmysl a mnohé další oblasti. V průběhu času velká většina průmyslových oborů definuje své vlastní aplikační protokoly.
obr. 1 - Struktura standardu STEP
Obrázek {obr. 1} zobrazuje strukturu STEP standardu. Je patrné, že se skládá z mnoha částí. Je také velice obsáhlý. Dokumentace tohoto standardu obsahuje doslova stovky stran. Některé z těchto částí již byly dokončeny a jsou publikovány, jiné jsou ve fázi vývoje. Pokusím se nyní strukturu STEP standardu stručně popsat. Standard se skládá z jednotlivých částí, které mají své číselné označení. Nicméně vždy několik částí se sdružuje do většího bloku. Hlavní bloky standardu jsou následující:
• • • • • • • •
Části 11 až 19 standardu specifikují tzv. Description Methods, Části 21 až 29 specifikují tzv. Implementation Methods, Části 31 až 39 specifikují tzv. Conformance Testing, Části 41 až 99 specifikují tzv. General Resources, Části 101 až 199 specifikují tzv. Application Resource Models, Části 201 až 299 specifikují tzv. Application Protocols, Části 301 až 399 specifikují tzv. Abstract Test Suites, Části 501 až 599 specifikují tzv. Application Interpreted Constructs.
Description Methods První blok STEP standardu se nazývá Description Methods (části 11 až 19), česky snad můžeme přeložit jako popisné metody, a části v něm popsané jsou základem STEP standardu. Jedná se o metody, které slouží k popisu výrobku na abstraktní (konceptuální) úrovni. Nejdůležitější z částí tohoto bloku je definice EXPRESS jazyka (ISO 10303-11). EXPRESS jazyk je objektově orientovaný člověku srozumitelný modelovací jazyk s grafickou reprezentací. Jeho podrobnější popis je obsahem kapitoly 3 tohoto příspěvku. Existence EXPRESS jazyka a jeho objektová konceptuální vyjadřovací schopnost byla hlavní důvodem pro napsání tohoto příspěvku. Implementation Methods Druhý blok STEP standardu má název Implementation Methods (části 21 až 29). Implementační metody popisují mapovaní mezi formální specifikací vyjádřenou prostředky bloku 1 (Description Methods) a reprezentací použitou pro implementaci standardu STEP. Jinými slovy, implementační metody specifikují, jak data vyjádřená jazykem EXPRESS ukládat, číst, modifikovat a přenášet. Na tomto bloku je zajímavé pozorovat, jak nové programátorské nástroje se stávají novými částmi tohoto bloku (například Java po jazyku C++, XML po jazyku Java, atd.). V současné době existují tyto zpracované implementační metody: • • • •
21 (STEP file format) – popis dat prostým textovým souborem 22 (Abstract STEP Data Access Interface – SDAI) – popis rozhraní pro jazyk C++ 27 (Java™ language-based SDAI) – popis rozhraní pro jazyk Java 28 (STEP data in XML) – popis dat souborem ve formátu XML (tato část je ve vývoji)
Application Protocols Blok s názvem Application Protocols (česky aplikační protokoly) obsahuje části, které definují schémata výrobků v určité oblasti průmyslu. Co to vlastně znamená? Ve standardu STEP jsou závazně a přesně definována schémata vhodná pro tu či onu oblast průmyslu! Jestliže je mým cílem popsat integrovaný obvod, nemusím vymýšlet jeho schéma (mám na mysli pochopitelně schéma konceptuální nikoliv elektrické), leč použiji schéma obsažené v daném aplikačním protokolu. Zanedlouho bude aplikačními protokoly popsán celý dostupný průmysl a poté celý svět a nakonec i vesmír. Doufám, že vážený čtenář pochopil, jaký důležitý význam má standard STEP pro naší existenci!
Oblast použití daného aplikačního protokolu může být omezena, například: • • •
typem vyráběného produktu, částí životního cyklu produktu, užitím daného produktu a dalšími kriterii.
Uvedu některé příklady aplikačních protokolů z oblasti elektrotechnologie: • • •
AP203: Configuration controlled design AP210: Electronic assembly, interconnect and packaging design AP212: Electrotechnical design and installation
3. EXPRESS Objektově orientovaný jazyk EXPRESS je snadno srozumitelný člověku a současně dobře zpracovatelný počítačem podobně, jako jiné podobné počítačové jazyky, například jazyk Pascal, C++, Java, atp. Avšak na rozdíl od těchto jazyků, které jsou nástroji pro programování aplikací, jazyk STEP slouží pro objektově orientovaný konceptuální popis výrobků. Ale stejně dobře může posloužit pro popis čehokoliv na světě, například rodokmenu britské královské rodiny, jak se tomu stalo v jednom výukovém textu jazyka EXPRESS, který jsem měl k dispozici. Standard ISO 1030-11 definuje všechny základní prvky jazyka. Struktura jazyka EXPRESS je velice podobná objektově orientovaným jazykům, zejména jazykům definujícím strukturu objektově orientované databáze. Datový model, který jazyk EXPRESS vyjadřuje, je podobný ERM (Entity-Relationship Model) nebo OOM (např. OMT - Object Modelling Technique). Ale to všechno bude nejlépe vidět na jednoduchých příkladech obsažených dále v textu. Jazyk EXPRESS je dále navržen tak, aby byl implementačně nezávislý. Jazyk EXPRESS má celou řadu specializovaných dialektů: • • • • • • •
EXPRESS-C Language with static and behavioural modelling capabilities EXPRESS-G Graphical language EXPRESS-I Instantiation language EXPRESS-M Mapping definition language EXPRESS-P Process definition language EXPRESS-V Extension of EXPRESS which enables the creation of views EXPRESS-X Merger of M and V
Je patrné, že některé dialekty jazyka STEP se ubírají zajímavými směry. Jako trend současné doby je patrná snaha o popis nejen struktury výrobků, ale i o zachycení procesů, kterými tyto výrobky vznikají! Jazyk EXPRESS dovoluje definovat konceptuální schéma pomocí pravidel, předpisů, struktur, vztahů různého typu a dalších konstruktů (některé z nich jsou opravdu výjimečné) z nichž některé (ty základní i speciální) si nyní ukážeme.
Entities Entita jazyka EXPRESS je podobná entitě ER modelu nebo pojmu objekt (třída) v objektově orientovaných jazycích. Každá entita má název a množinu atributů a dalších prvků. Každý atribut má název a typ. Ukázka definice jednoduché entity následuje: ENTITY Entity name; a1: data_type; a2: data_type; ... aN: data_type; END_ENTITY; Například definice entity bod může být následující: ENTITY Point; x: REAL; y: REAL; END_ENTITY; Datový typ atributu může být jednoduchý (simple), složený (aggregate), definovaný (defined), výčtový (enumeration), entitní (entity) nebo výběrový (select). Jazyk EXPRESS podporuje také několik druhů dědičnosti (inheritance relationships). Následující příklad ukazuje ten nejjednodušší z nich: ENTITY Point3D SUBTYPE OF (Point); z : REAL; END_ENTITY;
Výše uvedený příklad znamená, že entita Point3D bude mít tři atributy: x a y, které jsou zděděny z entity Point a atribut z, který je deklarován lokálně. Ukážeme si nyní trochu složitějšího užití jazyka EXPRESS: SCHEMA example; TYPE date = ARRAY [1:3] OF INTEGER; END_TYPE; FUNCTION years(d : date) : INTEGER; (* computes an age to the current date from d *) END_FUNCTION; TYPE hair_type = ENUMERATION OF (brown, black, blonde, redhead, gray, white, bald); END_TYPE;
ENTITY person; SUPERTYPE OF (ONEOF(male, female)); first_name : STRING; last_name : STRING; nickname : OPTIONAL STRING; birth_date : date; children : SET [0 : ?] OF person; DERIVE age : INTEGER := years(birth_date); INVERSE parents : SET [0 : 2] OF person FOR children; END_ENTITY; ENTITY female; SUBTYPE OF (person); husband : OPTIONAL male; maiden_name : OPTIONAL STRING; WHERE WI : (exists(maiden_name) AND EXISTS(husband)) OR NOT EXISTS(maiden_name); END_ENTITY; ENTITY male; SUBTYPE OF (person); wife : OPTIONAL female; END_ENTITY; END_SCHEMA;
Ve výše uvedeném příkladě jsme viděli použití následujících konstruktů: • • • • • • • • • •
Uživatelský typ (pole prvků typu INTEGER) Definici funkce years Výčtový typ hair Definice entity person jako nadtypu entit male nebo female Typ množina set Odvozený typ age Inverzní typ parents Definice entity female a male jako podtypu entity person Deklarace volitelnosti optional Definice pravidla where
Chce snad někdo tvrdit, že jazyk EXPRESS je chudý na výrazové prostředky! Určitě nikoliv!
4. TOOLS Vzhledem k tomu, jak je standard STEP rozsáhlý a komplexní, bylo by neúnosné, kdyby si každý uživatel tohoto standardu programoval všechny aplikace sám. Naštěstí existuje v současné době mnoho výrobců, kteří prodávají nástroje (programy) pro využití EXPRESS/STEP standardu. Některé produkty jsou zdarma (akademické nebo GPL produkty), jiné jsou striktně komerční. Pokusím se některé z nich stručně popsat. University of the Federal Armed Forces TOOL NAME Functionality Availability
WINSTEP (VERSION 3.0) STEP Toolkit for Windows Free
WinSTEP je STEP Toolkit určený pro operační systém Windows. Poslední verze je verze 3. Je postaven na knihovně tříd NIST (National Institute for Standards and Technology). WinSTEP je ve skutečnosti několik programů určených pro práci se standardem STEP (EXPRESS). LKSoftWare GmbH Tool Name Functionality Availability
J-SDAI SDAI implementation in Java™ Free version for AP203
The JSDAI Core API je plná implementace standardu ISO 10303-27 pro přístup k datům STEP z jazyka Java s rozšířeními pro Internet/intranet. Jedná se komerční software. Ukázka aplikace vytvořené s využitím JSDAI Core je na obr. {Figure 2}, na konci tohoto příspěvku. National Institute for Standards and Technology Functionality Availability
Toolkits Free
NIST Expresso je prostředí pro vytváření nástrojů pro práci s jazykem EXPRESS. Program přetváří popis v jazyku EXPRESS do interní objektově orientované reprezentace. Data odpovídající aplikačním protokolům mohou býti načtena, modifikována, zobrazována a kontrolována. STEP Tools Inc Functionality Availability
Toolkit Commercial
STEP Tools Inc. je firma, která prodává celou řadu nástrojů a služeb v oblasti vývoje software pro CAD systémy, které uživateli umožňují vyvíjet vlastní STEP aplikace propojené s CAD systémy. Jedná se o komerční programové vybavení a služby.
STEP Toolkit for STEP developer and EzExpress Editor Funkcionality Avaibility
Libraries and editor Free
STEP Toolkit obsahuje programátorské knihovny a nástroje pro vývoj software, který umí pracovat se STEP/EXPRESS daty. STEP Toolkit je postaven na SCL knihovně NIST (National Institute for Standards and Technology). EzExpress Editor je editor jazyka EXPRESS s IDE (Integrated Development Environment). Ukázka tohoto editoru je na obr. {Figure 1}, na konci tohoto příspěvku. Jeho součástí je Embedded Express Compiler, který umí generovat SCL C++, CORBA+IDL a ObjectStore C++ programový kód.
5. XML AND STEP Ani standardu STEP se nevyhnul současný trend použití jazyka XML všude, kde je to možné (i nemožné?). XML (Extensible Markup Language) je značkovací jazyk pro strukturované texty snadno zpracovatelný počítačem a současně srozumitelný člověku. Jazyk XML se stal ISO standardem v roce 1998. XML je jazyk odvozený z jazyka SGML (Standard Generalized Markup Language), který byl navržen počátkem 80tých let a v roce 1986 přijat za ISO 8879 standard. XML je též podobný jazyku HTML (Hypertext Markup Language), který má stejného předka a je používán jako jazyk pro tvorbu webových stránek. XML standard je velice atraktivní nástroj (jazyk) pro vyjádření schémat v jazyce EXPRESS a to z mnoha důvodů, proto byl zahájen projekt SC4 (10303-0028: Implementation methods: XML representation of EXPRESS schemas and data). Implementace EXPRESS schémat pomocí XML má mnoho výhod, například: • • • •
XML parsers jsou levné a snadno dosažitelné, často zcela zdarma jako projekty GPL. Internetové prohlížeče budou velice brzo schopné přímo pracovat s XML a budou obsahovat standardní API pro manipulaci s XML daty. XML je velmi dobře vybaveno pro výměnu dat přes internet či elektronickou poštou. XML také poskytuje pro člověka snadno čitelný výstup v mnoha formátech.
Jak vypadá vyjádření STEP schématu v XML? Ukážeme si příklad. Předpokládejme například následující definici v jazyce EXPRESS: ENTITY point; x : REAL; y : REAL; END_ENTITY; Tato definice specifikuje bod se dvěma atributy, které určují jeho polohu X-Y rovině. Vyjádření v jazyce XML může být následující: <point id=”e1”> <point.x id=”a1”>
<point.y id=”a2”>
6. A JEŠTĚ NĚCO NAVÍC Standard STEP vznikl za účelem předávání informací o jednotlivých výrobcích. Pokusím se pro větší názornost jeho použití pro tento účel přiblížit pomocí několika příkladů. Předpokládejme nyní, že potřebujeme předat informace o námi vyráběném materiálu. První věc, kterou musíme udělat, je ta, že musíme vytvořit nebo použít již dříve vytvořený aplikační protokol vhodný pro náš obor. Definice entity MATERIAL pak může v takovém protokolu vyjádřená jazykem EXPRESS vypadat následovně: SCHEMA materials; ENTITY linear_material; name : STRING; young_modulus : REAL; coef_thermal_expansion : REAL; shear_modulus : REAL; yield_stress : REAL; ultimate_stress : REAL; poissons_ratio : REAL; END_ENTITY; END_SCHEMA (* materials *);
Dále předpokládejme, že vyrábíme dva materiály – Alumina a Ceramic. Údaje o našich materiálech potřebujeme v elektronické formě dodat našemu odběrateli, který taktéž používá standard STEP a má již od nás k dispozici vhodný aplikační protokol. Potom mu stačí poslat následující textový soubor podle standardu ISO 10303-21. ISO-10303-21; HEADER; /*---------------------------------------* Exchange File generated by ST-DEVELOPER v1.4 * Conforms to ISO 10303-21 */ FILE_DESCRIPTION ((''), '1'); FILE_NAME ('materials_data', '1996-07-01T12:13:37-04:00', (''), (''), 'ST-DEVELOPER v1.4', '', ''); FILE_SCHEMA (('MATERIALS')); ENDSEC; DATA; #10 = LINEAR_MATERIAL ('Alumina', $ , 0.0000067, $ , $ , $, $ ); #20 = LINEAR_MATERIAL ('Ceramic', $ , 0.0000003, $ , $ , $, $ ); ENDSEC; END-ISO-10303-21;
Ano, svým způsobem trochu nepřehledné, ale efektivní. Naštěstí, přestože je tento formát člověku srozumitelný, je určen především pro počítač.
Další vlastnost, která nebyla doposud prezentována, je možnost použití grafické notace (vyjádření) jazyka EXPRESS. Pro názornou ukázku nám poslouží následující obrázek.
Je na první pohled patrné, že požívaná grafická notace je podobné notaci ERD od pana Chena. Jako další ukázku si uvedeme příklad grafického zobrazení vztahu dědičnosti mezi entitami. Je zřejmé, že notace standardu STEP/EXPRESS je podobná notaci použité v metodě IDEF1X:
Na standardu STEP/EXPRESS je velice zajímavé, že zahrnuje velice rozsáhlou množinu konstruktů. Například obsahuje hned několik agregovaných typů, jak je patrné z následujícího seznamu.
•
Bag : Netříděná kolekce. Hodnoty NULL nejsou dovoleny. Duplicitní hodnoty jsou dovoleny.
•
List : Tříděná kolekce. Hodnoty NULL nejsou dovoleny. Duplicitní hodnoty jsou dovoleny.
•
Set : Netříděná kolekce. Nejsou dovoleny ani hodnoty NULL, ani duplicitní hodnoty.
•
Array : Tříděná kolekce pevné velikosti. Jsou dovoleny hodnoty NULL i duplicitní hodnoty.
Dalším zajímavým typem jazyka EXPRESS je typ SELECT, který se podobá typu UNION v jazyce C. Ukážeme si příklad použití tohoto typu.
TYPE physical_connection_type = SELECT (nail, screw, glue); END_TYPE; ... attachment_method : physical_connection_type;
Varianta jazyka EXPRESS-X definuje pojem VIEW, který je podobný konstruktu pro definici CURSORu v jazyce SQL. Uvedeme si opět jednu ukázku. Ukázka je sice poněkud morbidní, ale je již z výše zmiňovaného učebního textu, kde byl jazykem EXPRESS modelován rodokmen britské královské rodiny.
VIEW dead_mum; FROM br:issue WHEREEXISTS (br.mother.death_date); SELECT name : label := br.child.forename; mum : subject := br.mother; END_VIEW;
A toto je výsledek výše uvedeného VIEW v textovém formátu (ISO 10303-21). #350=DEAD_MUM ('William', #100); #360=DEAD_MUM (‘Harry’, #100);
Zajímavá je také schopnost jazyka EXPRESS vyjádřit 3 druhy dědičnosti.
•
ONEOF – definuje, že subtypy jsou vzájemně vyloučeny (mutually exclusive). Entita může být pouze jedním ze subtypů.
•
AND – definuje, že všechny instance nadtypu vždy obsahují všechny podtypy.
•
ANDOR – nedefinuje žádná pravidla ohledně počtu subtypů obsažených v nadtypu.
A opět jednoduchý příklad.
ENTITY mechanical_part SUPERTYPE OF (AND (power_part,handling_part)); ... END_ENTITY; ENTITY power_part SUPERTYPE OF (ONEOF(fluid_powered,electrical_powered,powerless)); ... END_ENTITY; ENTITY handling_part; SUPERTYPE OF (ONEOF(air_handling,liquid_handling,communication)); ... END_ENTITY; Z výše uvedených příkladů je patrné, že standard STEP/EXPRESS je nesmírně rozsáhlý a komplexní. Jeho dokumentace obsahuje stovky stran. Je také patrná snaha standardu o co nejpodrobnější popsání reálného světa kolem nás, i když pochopitelně – prvotním cílem standardu STEP/EXPRES je schopnost popsat libovolné výrobky, které se vyrábějí nebo budou vyrábět.
7.
Z ÁVĚR
Mým cílem byl stručný popis standardu STEP a jazyka EXPRESS. Standard STEP je asi nejvýznamnější krok v oblasti výměny výrobních dat. Je podporován těmi nejvýznamnějšími výrobci zejména v USA a západní Evropě, např. firmou General Electric, a dalšími. Nicméně by tento objektově orientovaný standard měl být také v oblasti zájmu všech zájemců o objektově orientované paradigma, protože rozsah a snaha o úplnost objektového modelu je překvapující. Nevím, do jaké míry je existence standardu STEP/EXPRESS obecně známa mezi informatiky, ale domnívám se, že bohužel minimální. Je to škoda, protože při studování materiálů o standardu STEP/EXPRESS jsem občas měl dojem, že poskytuje odpovědi na nedostatky mnoha objektových metod, které se běžně diskutují. Provokativně řečeno, informatici si teprve cestičku k objektovému standardu hledají, ale strojaři ho již mají a dokonce jako ISO!
8. L ITERATURA [1] STEP Tools, Inc.: “Introduction to STEP”, http://www.steptools.com/library/standard/index.html [2] LKSoftWare GmbH: “LKSoft, a solution provider for STEP (ISO 10303) and JavaTM technology”, ©2002 [3] Peter R. Wilson.:”EXPRESS Tools and Services(1998)”, http://www.nist.gov/sc4/tools/express/etools98.htm [4] Joshua Lubell: “An XML Repository Architecture for STEP Modules”, National Institute of Standards and technology [5] David Loffredo: “Fundamentals of STEP Implementation”, STEP Tools, Inc. [6] Martin Hardwick: STEP Data Exchange Standard Moves Into Implementation Phase”, STEP Tools, Inc. [7] Martin Hardwick: “The STEP Standard”, http://impforum.aticorp.org/info.html [8] STEP Tools, Inc.: “ROSE Library Tutorials, 8 Getting Started with EXPRESS”, http://www.steptools.com/support/stdev_v8_docs/roselib_tutorial/roselib_tutorial_8.html [9] Robin Cover: “STEP/EXPRESS and XML”, http://xml.coverpages.org/stepExpressXML.html [10] Martin Hardwick: “STEP Database Tutorial”, STEP Tools, Inc. [11] Chuck Eastman: “Introduction to EXPRESS”, CIS/2 Notes, Georgia Tech [12] Stefan Schwarz: “Java as a language for STEP-based product and process modeling”, University of the Federal Armed Forces Munich [13] EXPRESS ENGINE PROJECT, http://exp-engine.sourceforge.net [14] The NIST STEP Class Library, http://ats.nist.gov/scl
V Praze 24. října 2002 Ing. Martin Molhanec, CSc
Figure 1: ExExpress - editor of the STEP/EXPRESS standard
Figure 2: JSDAI STEP-Book AP210, interconnect design