320 likes | 468 Views
STEP / EXPRESS - Objektově orientovaný ISO standard pro výměnu výrobních dat . Seznámení se standardem. Ing. Martin Molhanec, CSc. Ing. Roman Mík. Co je to STEP?. ST andard for E xchange of P roduction data. STEP je standard pro výměnu výrobních dat
E N D
STEP / EXPRESS - Objektově orientovaný ISO standard pro výměnu výrobních dat.Seznámení se standardem Ing. Martin Molhanec, CSc. Ing. Roman Mík
Co je to STEP? • STandard for Exchange of Production data. • STEP je standard pro výměnu výrobních dat • Je to ISO standard (ISO 10303)
Hlavní cíle standardu • vytvoření jednoho mezinárodního standardu pro celkovou výměnu dat mezi CAD/CAM systémy • snaha o popis výrobku v celém jeho životním cyklu • popis výrobku musí být nezávislý na jakémkoliv systému • oddělení popisu výrobkových dat od jejich implementace
Metody popisu • Definují jak popsat reálný svět – výrobní data. • Jsou postaveny na analytických metodách softwarového inženýrství. • Používají objektově orientované paradigma. • Základem jeEXPRESS language (ISO 10303-11).
Příklad použití jazyka EXPRESS 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 *);
Metody implementace • Popisují mapování mezi formální specifikací a reprezentací použitou pro implementaci standardu STEP. • V současné době existují následující ISO 10303 části: • 21 (STEP file format) • 22 (Abstract STEP Data Access Interface – SDAI) • 23 (C++ Language Binding to the SDAI) • 24 (C Language Binding to the SDAI) • 25 (Late FORTRAN Binding to the SDAI - nedokončeno) • 26 (Interface Definition Language (IDL) Binding to SDAI) • 27 (Java™ language-based SDAI) • 28 (STEP data in XML) products are under development
Aplikační protokoly • Aplikačníprotokoly (AP’s, části STEPu 2xx) definují formální modely pro konkrétní aplikační oblast • komplexní datové modely používané k popisu specifického produktu (výrobku) • obsahuje soubor schémat datových struktur jež mají být již dále používány v konkrétní oblasti • Některé příklady aplikačních protokolů • AP201 - Explicit Draughting (přímé rýsování) • AP202 - Associative Draughting (asociativní rýsování) • AP203: Configuration controlled3D Design (3D projektování dle zadané konfigurace)
Jazyk EXPRESS • Je objektově orientovaný • Člověku srozumitelný • Vhodný pro počítačové zpracování • Je podobný jiným OOPL (object oriented program language) – zejména jazykům definující strukturu objektově orientované databáze • Datový model jepodobný ERM (Entity-Relationship Model)
EXPRESS language • EXPRESS-C (EXPRESS 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)
Schema • Je tvořeno souborem mezi sebou navzájem svázaných (vzájemně se odkazujících) objektů typu ENTITY, jejichž prostřednictvím je možno popsat danou předmětnou oblast. • Je to také objekt nejvyšší úrovně zastřešující definice dalších objektů, např. entit.
Objekt ENTITY • Základní informační objekt • Soubor atributů a metod • Formát ENTITY name_of_entity; <text definice třídy> END_ENTITY; • Rozlišujeme různé typy atributů • explicitní (EXPLICIT) • odvozené (DERIVED) • inverzní (INVERSE)
EXPRESS language(definice bodu) ENTITY Point; x: REAL; y: REAL; END_ENTITY;
EXPRESS language(definice 3D bodu) ENTITY Point3D SUBTYPE OF (Point); z : REAL; END_ENTITY;
Typy dat • Základní datové typy • prostá data (SIMPLE) • agregovaná (AGGREGATE) • vyjmenovaná (NAMED) • generická (GENERIC) • výčtová (ENUMERATION) • výběrová (SELECT) • Vazby (relace, dědičnost) • Pravidla (UNIQUE, WHERE, RULE)
Agregované typy • Bag : Netříděná kolekce. Soubor prvků, který může obsahovat jak určitý, tak libovolný počet prvků, které se mohou opakovat. Hodnoty NULL nejsou dovoleny. Duplicitní hodnoty jsou dovoleny. • List : Tříděná kolekce. Seznam prvků, který je určen pro definovaný nebo libovolný počet prvků s možností zakázat opakování stejných Hodnoty NULL nejsou dovoleny. Duplicitní hodnoty jsou dovoleny. • Set : Netříděná kolekce. Nepřipouští se opakování. Nejsou dovoleny ani hodnoty NULL, ani duplicitní hodnoty. • Array : Tříděná kolekce pevné velikosti. Jsou dovoleny hodnoty NULL i duplicitní hodnoty, možno zakázat opakování stejných prvků. a : ARRAY [0:3] OF ARRAY [1:17] OF OPTIONAL INTEGER
Více typů dědičnosti • ONEOF –potomek může být pouze jednoho podtypu. Je to pouze muž nebo pouze žena. • AND – potomek je vždy všemi podtypy. Je to student i zaměstnanec. • ANDOR – nedefinuje žádná pravidla. Je to student nebo zaměstnanec nebo student i zaměstnanec.
Složitější příklad (*Somerset house–místo, kde se zaznamenávají údaje o narození, sňatcích a úmrtích*) SCHEMA somerset_house; TYPE date = STRING; END_TYPE; TYPE official_number = STRING; END_TYPE; TYPE label = STRING; END_TYPE; TYPE male_or_female = ENUMERATION OF (stud, studmuffin); END_TYPE; (* osoba *) ENTITY subject; forename : label; surname : label; sex : male_or_female; birth_date : date; death_date : OPTIONAL date; DERIVE dead : BOOLEAN := EXISTS (death_date); (* odvozený atribut mrtvý *) WHERE (* pravidlo: osoba není mrtvá nebo zemřela později, než se narodila *) WR1 : NOT dead OR death_date > birth_date; END_ENTITY; pokračování >>
Složitější příklad (* všechny registrované sňatky *) ENTITY union; license : official_number; wife : subject; husband : subject; start_date : date; end_date : optional date; DERIVE divorced : BOOLEAN := EXISTS (end_date); (*odvozený atribut rozvedený *) WHERE WR1 : NOT EXIST (end_date) OR end_date > start_date; WR2 : wife.sex = studmuffin; WR3 : husband.sex = stud; END_ENTITY; pokračování >>
Složitější příklad (* potomek *) ENTITY issue; child : subject; mother : subject; marriage : OPTIONAL union; WHERE WR1 : NOT EXISTS (marriage) OR marriage.wife :=: mother; WR2 : mother.sex = studmuffin; WR3 : NOT EXISTS (marriage) OR marriage.start_date < child.birth_date; END_ENTITY; END_SCHEMA;
Příklad definice pohledu pomocí EXPRESS-X VIEW mother_in_law; (* tchýně *) FROM him, her : subject, birth : issue, knot : union; WHERE knot.husband :=: him; knot.wife :=: her; birth.child :=: her; NOT EXISTS (knot.end_date); SELECT man : label := him.forename; woman : label := her.forename; mum_in_law : subject := birth.mother; END_VIEW;
Ukázka formátu souboru pro přenos dat (Physical File) ISO-10303-21; HEADER; /* výměnný soubor */ FILE_DESCRIPTION(); FILE_NAME(); FILE_SCHEMA (('somerset_house')); ENDSEC; DATA; #10=SUBJECT ('George', 'Windsor', .stud., '10-20-1890', '1-13-1957'); #20=SUBJECT ('Queen Mum', 'Something', .studmuffin., '10-21-1903', $); #30=SUBJECT ('Queen Elizabeth', 'Windsor', .studmuffin., '5-3-1930', $); #40=SUBJECT ('Philip', 'Windsor', .stud., '6-1-1925', $); #50=SUBJECT ('Margret', 'Windsor', .studmuffin., '5-3-1932', $); #60=SUBJECT ('Charles', 'Windsor', .stud., '9-6-1947', $); . . . pokračování >>
Ukázka formátu souboru pro přenos dat (Physical File) #160=UNION ('123', #20, #10, '5-3-1925', $); #170=UNION ('345', #30, #40, '9-6-1942', $); . . . #210=ISSUE (#30, #20, #160); #220=ISSUE (#50, #20, #160); #230=ISSUE (#60, #30, #170); . . . #380=MOTHER_IN_LAW ('Philip', 'Queen Mum', #20); ENDSEC; END-ISO-10303-21;
Vývojové nástroje • Nástroje k modelování informací poskytují rychlou definici produktových modelů pomocí jazyka EXPRESS, který je základem STEPu. • Vývojářské nástroje zjednodušují proces komunikace geometrie STEPu s existujícími databázovými formáty poskytnutím editorů, conformance tools, kompilerů EXPRESS a nástrojů pro definici schémat a rozhraní k ostatním běžným formátům produktových modelů např. k IGES a k programovacím jazykům jako jsou C++ a Java. • Nástroje správy dat pomáhají zjednodušit proces výměny dat poskytnutím funkcí vizualizace, překladů, verifikace a opravy dat. • Nástroje k publikování CAD dat ve formátu STEP na Internetu pomáhají snížit závislost na hardwarových platformách nebo CAD systémech a snižují náklady datové komunikace.
EXPRESS/STEP tools • ST-Developer (aktuální verze 9.0) • software firmy STEP Tools, Inc. Slouží pro vytváření aplikací a práci se STEP daty, programování pomocí C/C++. • ST-Viewer (aktuální verze 4.0) • software firmy STEP Tools, Inc. Interaktivní nástroj pro zobrazování 3D dat produktu a poskytuje uživateli levný přístup k 3D CAD informacím • WinSTEP (Version 3.0) • University of the Federal Armed Forces • J-SDAI • LKSoftWare GmbH • NIST Expresso • National Institute for Standards and Technology • EzExpress • free
Závěr • 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. • Objektová bohatost a úplnost jazyka EXPRESS • Budoucnost zajištěna integrací s informační oblastí – především jazyka XML • 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í.
Ing. Martin Molhanec, CSc. České vysoké učení technické Fakulta elektrotechnická Katedra elektrotechnologie Technická 2 166 27 PRAHA 6 Tel:. (++420) 224352118 Email: molhanec@fel.cvut.cz WWW: http://martin.feld.cvut.cz/~mmm