IEEE Std 1320.2-1998 IEEE Standard for Conceptual Modeling Language Syntax and Semantics for IDEF1X97(IDEFobject) -Description
Abstract: IDEF1X97 consists of two conceptual modeling languages. The key-style language supports data/information modeling and is downward compatible with the US government's 1993 standard, FIPS PUB 184. The identity-style language is based on the object model with declarative rules and constraints. IDEF1X97 identity style includes constructs for the distinct but related components of object abstraction: interface, requests, and realization; utilizes graphics to state the interface; and defines a declarative, directly executable Rule and Constraint Language for requests and realizations. IDEF1X97 conceptual modeling supports implementation by relational databases, extended relational databases, object databases, and object programming languages. IDEF1X97 is formally defined in terms of first order logic. A procedure is given whereby any valid IDEF1X97 model can be transformed into an equivalent theory in first order logic. That procedure is then applied to a meta model of IDEF1X97 to define the valid set of IDEF1X97 models.
Keywords: conceptual schema, data model, IDEF1X, IDEF1X97, identity style, information model, key style, object model
Content
1. Overview
1.1 Scope
1.2 Purpose
1.3 Evolution of IDEF1X
1.3.1 Understanding the data/process paradigm
1.3.2 Understanding the emerging object-oriented paradigm
1.3.3 Contrasting the paradigms
1.3.4 Expanded understanding of requirements
1.3.5 IDEF1X in transition
1.3.6 Future direction
1.4 Conformance
1.4.1 Identity-style model conformance
1.4.2 Identity-style modeling tool conformance
1.4.3 Key-style model conformance
1.4.4 Key-style modeling tool conformance
2. References
3. Definitions, acronyms, and abbreviations
3.1 Definitions
3.2 Abbreviations and acronyms
4. IDEF1X language overview
4.1 IDEF1X language constructs
4.2 IDEF1X notation
4.2.1 Example IDEF1X diagram
4.2.2 Example specification language
4.2.3 Lexical rules
5. Class
5.1 Introduction
5.1.1 Class semantics
5.1.2 Class syntax
5.1.3 Class rules
5.2 State class
5.2.1 State class semantics
5.2.2 State class syntax
5.2.3 State class rules
5.3 Value class
5.3.1 Value class semantics
5.3.2 Value class syntax
5.3.3 Value class rules
5.4 Generalization
5.4.1 Generalization semantics
5.4.2 Generalization syntax
5.4.3 Generalization rules
5.5 Relationship
5.5.1 Relationship semantics
5.5.2 Relationship syntax
5.5.3 Relationship rules
6. Responsibility
6.1 Introduction
6.1.1 Separation of interface from realization
6.1.2 Responsibility specification and use
6.2 Request
6.2.1 Request semantics
6.2.2 Request syntax
6.2.3 Request rules
6.3 Property
6.3.1 Property semantics
6.3.2 Property syntax
6.3.3 Property rules
6.3.4 Property realization
6.4 Attribute
6.4.1 Attribute semantics
6.4.2 Attribute syntax
6.4.3 Attribute rules
6.4.4 Attribute requests
6.4.5 Attribute realization
6.5 Participant property
6.5.1 Participant property semantics
6.5.2 Participant property syntax
6.5.3 Participant property rules
6.5.4 Participant property requests
6.5.5 Participant property realization
6.6 Operation
6.6.1 Operation semantics
6.6.2 Operation syntax
6.6.3 Operation rules
6.6.4 Operation requests
6.6.5 Operation realization
6.7 Constraint
6.7.1 Constraint semantics
6.7.2 Constraint syntax
6.7.3 Constraint rules
6.7.4 Constraint requests
6.7.5 Constraint realization
6.8 Note
6.8.1 Note semantics
6.8.2 Note syntax
6.8.3 Note rules
7. Rule and constraint language
7.1 Introduction
7.1.1 Objects and classes
7.1.2 Generalization
7.1.3 Collection and pair classes
7.1.4 Responsibility
7.2 Realization
7.2.1 Value class uniqueness constraints
7.2.2 Overriding built-ins
7.3 Message
7.3.1 Message to a class
7.3.2 Creating a new state class instance
7.3.3 Deleting a state class instance
7.3.4 Displaying an instance
7.3.5 Boolean attribute
7.3.6 Changing the class of a state class instance
7.3.7 Specifying an existing instance
7.4 Typing
7.4.1 Type and subtype
7.4.2 Dynamic type
7.4.3 Static type
7.4.4 Typing rules for overrides
7.4.5 Determining the class of an object
7.5 Dynamic binding
7.5.1 Signature matching
7.5.2 Search order
7.5.3 Uniqueness
7.5.4 Static type checking
7.5.5 Message to super
7.5.6 Visibility
7.5.7 Read-only
7.5.8 Constant
7.6 Assignment
7.7 Propositions
7.7.1 Assert
7.7.2 Negation
7.7.3 Equality
7.7.4 Ordering comparisons
7.8 Sentences
7.8.1 Conjunction
7.8.2 Disjunction
7.8.3 Implication
7.8.4 Conditional
7.8.5 Bounded quantification
7.8.6 Bounded accumulation
7.9 Type checking
7.10 Constraint checking
7.10.1 Constraints
7.10.2 Pre-conditions and post-conditions
7.10.3 Constraint checking options
7.11 Query
7.12 Total ordering
7.13 Implementation-dependent
7.13.1 Error conditions
7.13.2 Numeric characteristics
7.14 Lexical characteristics
7.14.1 Character set
7.14.2 Comments
7.15 RCL syntax
7.15.1 RCL syntax conventions
7.15.2 Operator priority and associativity
7.15.3 BNF
8. Model infrastructure constructs
8.1 View
8.1.1 View semantics
8.1.2 View syntax
8.1.3 View rules
8.2 Identity-style view level
8.2.1 Identity-style view level semantics
8.2.2 Identity-style view level syntax
8.2.3 Identity-style view-level rules
8.3 Environment
8.3.1 Environment semantics
8.3.2 Environment syntax
8.3.3 Environment rules
8.4 Glossary
8.4.1 Glossary semantics
8.4.2 Glossary syntax
8.4.3 Glossary rules
8.5 Model
8.5.1 Model semantics
8.5.2 Model syntax
8.5.3 Model rules
9. Key-style modeling
9.1 Entity
9.1.1 Entity semantics
9.1.2 Entity syntax
9.1.3 Entity rules
9.2 Domain/value class
9.3 Key-style view
9.3.1 Key-style view semantics
9.3.2 Key-style view syntax
9.3.3 Key-style view rules
9.4 Attribute
9.4.1 Attribute semantics
9.4.2 Attribute syntax
9.4.3 Attribute rules
9.5 Relationship
9.5.1 Relationship semantics
9.5.2 Relationship syntax
9.5.3 Relationship rules
9.6 Entity generalization
9.6.1 Entity generalization semantics
9.6.2 Entity generalization syntax
9.6.3 Entity generalization rules
9.7 Primary and alternate key
9.7.1 Primary and alternate key semantics
9.7.2 Primary and alternate key syntax
9.7.3 Primary and alternate key rules
9.8 Foreign key
9.8.1 Foreign key semantics
9.8.2 Foreign key syntax
9.8.3 Foreign key rules
9.9 Common ancestor constraint
9.9.1 Common ancestor constraint semantics
9.9.2 Common ancestor constraint syntax
9.9.3 Common ancestor constraint rules
9.10 Key-style view level
9.10.1 Key-style view level semantics
9.10.2 Key-style view level syntax
9.10.3 Key-style view level rules
9.11 Key-style glossary
9.11.1 Key-style glossary semantics
9.11.2 Key-style glossary syntax
9.11.3 Key-style glossary rules
9.12 Key-style notes
9.12.1 Key-style notes semantics
9.12.2 Key-style notes syntax
9.12.3 Key-style notes rules
9.13 Key-style lexical rules
10. Formalization
10.1 Introduction
10.1.1 Objectives
10.1.2 First order language, theory, and model
10.1.3 Definition of correctness for a view
10.1.4 Formalizing a view by a theory
10.1.5 Formalization of IDEFobject
10.2 IDEFobject metamodel
10.2.1 Interfaces
10.2.2 Realizations
10.3 Definition clausal form
10.3.1 Truth symbols
10.3.2 Constant symbols
10.3.3 Variable symbols
10.3.4 Function symbols
10.3.5 Terms
10.3.6 Function application
10.3.7 Predicate symbols
10.3.8 Proposition
10.3.9 Sentence
10.3.10 Clause
10.3.11 Closed world assumption
10.4 Vocabulary
10.4.1 Constant symbols
10.4.2 Function symbols
10.4.3 Predicate symbols
10.5 Axioms of base theories
10.5.1 Equality axiom
10.5.2 List
10.5.3 Pair
10.5.4 Character
10.5.5 Identifier
10.5.6 String
10.5.7 Integer
10.5.8 Real
10.6 Rewriting an IDEFobject view to definition clausal form
10.6.1 Declare instances of the metamodel for a view
10.6.2 Rewrite RCL to definition form clauses
10.6.3 Add arguments for sender and state
10.7 Formalization of the modeling constructs
10.7.1 Objects
10.7.2 Views
10.7.3 Classes
10.7.4 State
10.7.5 Value
10.7.6 Generalization
10.7.7 Type
10.7.8 Responsibility
10.7.9 Realization
10.7.10 Relationships
10.7.11 Creating a state class instance
10.7.12 Adding an instance to a state class
10.7.13 Deleting a state class instance
10.7.14 Removing an instance from a state class
10.7.15 Coercions
10.7.16 is
10.7.17 Inheritance
10.7.18 Message
10.7.19 Implicit realizations
10.7.20 Visibility
10.7.21 Dynamic binding
10.7.22 Pre- and post-conditions
10.7.23 Constraints
10.7.24 Exceptions
10.8 Summary of the formal meaning of a view
A.1 Bibliography
Annex B Comparison of IDEF1X93 and IDEF1X97 constructs
B.1 Migration from data models to object models
B.2 Comparison of modeling constructs
Annex C Examples
C.1 Pattern example: composite
C.2 Pattern example: state
C.3 Business pattern example (combining two patterns)
C.4 Model view level examples
C.5 Behavior patterns
C.5.1 Coordinated change to attribute values
C.5.2 Create an instance with a set of related instances
C.5.3 Specify a value class as an enumerated value list