1999-12-09proposal for using iso 11404, f. farance 1 iso 11404 for data models frank farance,...
TRANSCRIPT
1999-12-09 Proposal for Using ISO 11404, F. Farance
1
ISO 11404 for Data Models
Frank Farance, Farance Inc.+1 212 486 4700
[email protected]://edutool.com
1999-12-09 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
1999-12-09 Proposal for Using ISO 11404, F. Farance
3
ISO 11404 Can BeUsed For Describing Semantics
Functionality
Conceptual Model
Semantics
Bindings: APIs Bindings: Codings Bindings: Protocols
Encodings:Data Formats
Encodings:Calling Conventions
Encodings: VariousCommunication Layers
IEEE 1484.XInformative Wording
IEEE 1484.XNormative Wording
IEEE 1484.X,IEEE 1484.14 XML
IEEE 1484.14 SDAInformative Wording
IEEE 1484.X,IEEE 1484.14 SDANormative Wording
IEEE 1484.X, 1484.14,And Other Standards
IEEE 1484.15 DCTP, IEEE 1484.16 HTTP
Various Standards
Requirements
1999-12-09 Proposal for Using ISO 11404, F. Farance
4
Example of ISO 11404
// 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"),
),);
1999-12-09 Proposal for Using ISO 11404, F. Farance
5
XML Bindings Generated From ISO 11404
• 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
1999-12-09 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
1999-12-09 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