Proposal for Using ISO 11404, F. Farance 1 ISO for Data Models Frank Farance, Farance Inc
Proposal for Using ISO 11404, F. Farance 2 What Is ISO 11404? Language Independent Datatypes LID is the pseudo-code for datatypes XML is too low level UML is too high level LID can bind to XML, SQL, C/C++, Java, JavaScript
Proposal for Using ISO 11404, F. Farance 3 ISO Can Be Used For Describing Semantics Functionality Conceptual Model Semantics Bindings: APIsBindings: CodingsBindings: Protocols Encodings: Data Formats Encodings: Calling Conventions Encodings: Various Communication Layers IEEE 1484.X Informative Wording IEEE 1484.X Normative Wording IEEE 1484.X, IEEE XML IEEE SDA Informative Wording IEEE 1484.X, IEEE SDA Normative Wording IEEE 1484.X, , And Other Standards IEEE DCTP, IEEE HTTP Various Standards Requirements
Proposal for Using ISO 11404, F. Farance 4 Example of ISO // LOMClassificationRecord: Description of a characteristic of // the resource by entries in classifications. type LOMClassificationRecord = unordered extendable record ( // Purpose: Characteristics of the resource described // by this classification entry. optional Purpose: LOMLangStringType(128) extendable selecting ( (Language = "en", String = "Discipline"), (Language = "en", String = "Idea"), (Language = "en", String = "Prerequisite"), (Language = "en", String = "Educational Objective"), (Language = "en", String = "Accessibility Restrictions"), (Language = "en", String = "Educational Level"), (Language = "en", String = "Skill Level"), (Language = "en", String = "Security Level"), ), );
Proposal for Using ISO 11404, F. Farance 5 XML Bindings Generated From ISO Create a set of transformation rules Rules can describe a grammar Sample for LOM: –Map all identifiers to tags –Map all LangStrings to: Language sets LANG attribute in parent (target) String sets value in parent (target) –Prefix (or not) top level elements with LOM
Proposal for Using ISO 11404, F. Farance 6 How Extensions Work [1/2] –Determining a valid or invalid datatype? –Elements recognized, specified in standard –Elements identified as extensions Applications can ignore or process Applications describe which actions they take Also known as implementation-defined behavior –Elements neither in standard nor identified as extensions Implementation-defined (or undefined) behavior
Proposal for Using ISO 11404, F. Farance 7 How Extensions Work [2/2] Extensions are important for future revisions of standard Extension prefix (specified in bindings) –MIME uses X- for prefix –Programming languages use __ (double underscore) for prefix