150 likes | 239 Vues
Application of upper ontology for information model mapping. Nikolay A. Skvortsov Institute for Informatics Problems Russian Academy of Sciences nskv@ipi.ac.ru http://synthesis.ipi.ac.ru/ RCDL’2008 Dubna. Information model mapping. Major approach
E N D
Application of upper ontologyfor information model mapping Nikolay A. Skvortsov Institute for Informatics Problems Russian Academy of Sciences nskv@ipi.ac.ru http://synthesis.ipi.ac.ru/ RCDL’2008Dubna
Information model mapping Major approach Functions of construct mapping for particular models Commutative mapping Based on specification refinement relation Model Unifier tool Scalability for many heterogeneous models Source models are mapped to the canonical model Search for similar constructs of source and canonical models Required extensions of canonical model core are registered Verification of refinement between source and canonical model with extensions
Specifies significant model constructs Abstract specification, independent on syntax Created from abstract syntax of model and checked by expert Includes simple types enumerations abstract data types associations (attributes of abstract data types) Reference schemas of information models
Reference schema of OWL (spec) { Ontology; in: type; name: string; directives: {set; type_of_element: Directive} }, { Directive; in: type}, { Axiom; in: type; supertype: Directive }, { ClassAxiom; in: type; supertype: Axiom; name: string; descriptions: {set; type_of_element: Description} }, { Description; in: type}, { SubclassOf; in: type; supertype: Description; reference: Description }, { ObjectPropertyAxiom; in: type; supertype: Axiom; name: string; inverseOf: ObjectPropertyAxiom; kind: {set; type_of_element: ObjectPropertyKind}; super: {set; type_of_element: SuperProperty}; _domain: {set; type_of_element: ObjectPropertyDomain}; _range: {set; type_of_element: ObjectPropertyRange} }, { ObjectPropertyKind; in: enum; enum_list: {Functional; InverseFunctional; Simmetric; Transitive} }
Reference schema of Synthesis (spec) { Module; in: type; name: string; _class_spec: {set; type_of_element: Class-Declaration}; _type: {set; type_of_element: Type-Specification} }, { Type-Specification; in: type; _supertype: {set; type_of_element: Type-Specification} }, { Abstract-Type; in: type; supertype: Type-Specification; name: string; attributes: {set; type_of_element: Abstract-Type} }, { Class-Declaration; in: type; name: string; _superclass: {set; type_of_element: Class-Declaration} }, { Attribute-Specification; in: type; name: string; attribute-type: Type-Specification; metaslot: Attribute-Metaslot }, { Association-Metaclass; in: type; supertype: Class-Declaration; _inverse: Association-Metaclass; _domain: Class-Declaration; _range: Class-Declaration; _association_type: Association-Type }
Same constructs usually used in a class of models structural functional object behavioral ontological Upper ontology specifies common principles used in a class of models Most constructs are represented as combinations of simple ones or concretization of one of them Upper ontology of modeling constructs
R. Hull, R. King. Semantic Database Modeling: Survey, Applications, and Research Issues.ACM Computing Surveys, Vol. 19, 1987 Types Abstract types Printable (string, number, image) Constructed (aggregation, grouping) Attributes (of types, metaattribute) Argument number Domain, range Cardinality Invertible, optional, multivalued, key Is-a Hierarchy (of types, of attributes) Subset, specialization The ontology of structural models
The ontology of structural models (spec) { AbstractType; in: concept; supertype: AtomicType }, { ConstructedType; in: concept; supertype: _Type }, { Aggregation; in: concept; supertype: ConstructedType; components: {set; type_of_element: _Type}; arity: integer; inv: {in: predicate, invariant; { predicative: {all p/Aggregation (card(p.components = p.arity)}}} }, { Grouping; in: concept; supertype: ConstructedType; activeDomain: _Type; element: _Type }, { Attribute; in: concept; supertype: Construct; argumentNumber: integer; _domain: {set; type_of_element: _Type}; _range: {set; type_of_element: _Type}; _inverse: Attribute; minCardinality: integer; maxCardinality: integer; minInverseCardinality: integer; maxInverseCardinality: integer; isOptional: boolean; isMultivalued: boolean; isKey: boolean }, { OneArgumentAttribute; in: concept; supertype: Attribute; oneArgInv: {in: predicate, invariant; { predicative: {all p/OneArgumentAttribute (p.argumentNumber = 1)}}} }
What does the construct mean in the prospect of the ontology? Annotation of constructs in reference schema in terms of upper ontology Constructs are instances of ontological concepts or of subtypes (expressions) of ontological concepts Reference schema specifications doesn’t depend on ontological or annotating specifications Annotation of reference schemas
Annotation of reference schemas (spec) { Module; in: type, AggregationOfTwoGroups; name: string; _type: {set; type_of_element: Type-Specification}; _class_spec: {set; type_of_element: Class-Declaration} } { AggregationOfTwoGroups; in: concept; supertype: Aggregation; arityInvariant: { in: predicate, invariant; {predicative: {all p/AggregationOfTwoGroups (p.arity = 2 & all r/_Type (in(r, p.components) ->r/Grouping)) }} } }
O AV AU ⊑ V U MU(V) Reference schema integration (1) • V – source schema, U – target schema • Purpose: model mapping MU(V) • O – upper ontology • uU, vV, <u,c>AU, <v,d>AV – annotations,c and d are concepts or subtypes of concepts of O. • <u,v> – ontologically relevant pair, iff c⊑d
O AV AU ⊑ V U MU(V) Reference schema integration (2) • The task in terms of ontology (abstract from reference schemas): • find all c from AU which are subtypes of a d from AV • c subtype of d (c⊑d) iff • supertypes of c in O are subtypes of supertypes of d • types of attributes of c are subtypes of attributes of d • full invariant of c stronger than full invariant of d
Reference schema integration (spec) { MetaclassAssociationConcept; in: concept; sypertype: oneArgumentAttribute; _domain: AbstractType; _range: AbstractType; _inverse: OneArgumentAttribute; } { AttributeConcept; in: concept; sypertype: oneArgumentAttribute; _domain: AbstractType; _range: _Type; _inverse: none; }
A step in any task requiring model mapping Implementation for ontology in OWL DL Subsumption verification in Pellet Upper ontologies for different classes of models Workflow patterns (by W. van der Aalst) for process models DOLCE for linguistic and ontological models Model Unifier Search for relevant constructs in the canonical model core Search for relevant constructs in registered extensions (canonical model extension reuse) Application of the approach
Application of upper ontologyfor information model mapping Nikolay A. Skvortsov Institute for Informatics Problems Russian Academy of Sciences nskv@ipi.ac.ru http://synthesis.ipi.ac.ru/ RCDL’2008Dubna