Versioning of Topic Map Templates and Scalability
Upcoming SlideShare
Loading in...5
×
 

Versioning of Topic Map Templates and Scalability

on

  • 688 views

Ueberall, M., Drobnik, O.: Versioning of Topic Map Templates and Scalability in L. Maicher, L.M. Garshol (Eds.): Proc. 3rd International Conference on Topic Maps Research and Applications (TMRA ...

Ueberall, M., Drobnik, O.: Versioning of Topic Map Templates and Scalability in L. Maicher, L.M. Garshol (Eds.): Proc. 3rd International Conference on Topic Maps Research and Applications (TMRA 2007), Springer Lecture Notes in Artificial Intelligence (LNAI) 4999 128–139, ISBN 978-3-540-70873-5

Statistics

Views

Total Views
688
Views on SlideShare
688
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Versioning of Topic Map Templates and Scalability Versioning of Topic Map Templates and Scalability Presentation Transcript

  • Versioning of TM Templates and Scalability M. Ueberall, O. Drobnik Introduction Structuring Versioning of Topic Map Templates Versioning Scalability and Scalability Proc. Model Ongoing Work M. Ueberall, O. Drobnik Telematics Group, Institute of Computer Science J. W. Goethe-University, Frankfurt/Main, Germany 2007 / 10 / 12
  • Versioning of TM Templates and Scalability Motivation and Objective M. Ueberall, O. Drobnik Introduction Structuring • Problems in the context of software development Versioning processes: Scalability • participants use concepts from different knowledge Proc. Model domains → information overflow Ongoing Work • insufficient communications → traceability deficits • Our approach is based on • Templates consisting of Topic Map Objects → lightweight representation • version management → traceability • meta process model → communications support • role-based filtering → scalability
  • Versioning of TM Templates and Scalability (Nested) Templates M. Ueberall, O. Drobnik Example Introduction Structuring Versioning Semi-formal Representation Scalability Use Case <<actor>> (Template containing Topic Map Objects) BookingSystem Proc. Model Name ... Ongoing Work UseCase FlightBooking Actor ... Book flight Precondition ... Action ... Postcondition ... Customer Name: Customer Type: Person Description: ...
  • Versioning of TM Templates and Scalability (Nested) Templates M. Ueberall, O. Drobnik Nesting Example Introduction Structuring Versioning Semi-formal Representation Scalability Use Case <<actor>> (Template containing Topic Map Objects) BookingSystem Proc. Model Name ... Ongoing Work UseCase FlightBooking Name: Customer Book flight Actor Type: ... Person Description: ... Precondition ... Customer Action ... Postcondition ... Name: Customer Type: Person Description: ...
  • Versioning of TM Templates and Scalability Usage Restrictions for Templates M. Ueberall, O. Drobnik Constraints in LTM notation Introduction Structuring Versioning Scalability [person : topic-type = "Person"] Proc. Model [age : occurrence-type = "Age" = "Person’s Age" /person ~toc1] Ongoing Work [toc1 : topic-occurrence-constraint = "Topic Occurrence Constraint Label for Occurrence ’Age’"] {toc1, max-cardinality, [[1]]} • embedded constraints as opposed to linked/embedded schemas allow for unified handling of versioning
  • Versioning of TM Templates and Scalability Faceted Classification M. Ueberall, O. Drobnik Browser Example Introduction Structuring Versioning Scalability Proc. Model Ongoing Work
  • Versioning of TM Templates and Scalability Faceted classification M. Ueberall, O. Drobnik LTM notation (1) Introduction Structuring // cf. [Ahmed2003] (Proc. Extreme Markup Languages) Versioning #PREFIX tmhd @"http://www.techquila.com/psi/hierarchy/#" Scalability Proc. Model #PREFIX tmtd @"http://www.techquila.com/psi/thesaurus/#" Ongoing Work #PREFIX tmfd @"http://www.techquila.com/psi/faceted-classification/#" [all-templates : tmfd:facet = "Set of all Templates"] [template-facet : tmfd:facet = "Template Facet"] tmfd:facet-has-hierarchy-type(template-facet : tmfd:facet, tmfd:subcategory-supercategory : tmfd:facet-hierarchy-type) tmfd:facet-has-root(template-facet : tmfd:facet, all-templates : tmfd:facet-root)
  • Versioning of TM Templates and Scalability Faceted classification M. Ueberall, O. Drobnik LTM notation (2) Introduction Structuring // taken from the UML Superstructure specification, cf. [UD06] Versioning [actor : template-class = "Actor"] Scalability Proc. Model Ongoing Work tmfd:subcategory-supercategory(actor : tmhd:subcategory, all-templates : tmhd:supercategory) tmfd:subcategory-supercategory(person : tmhd:subcategory, actor : tmhd:supercategory) tmfd:subcategory-supercategory(legal-entity : tmhd:subcategory, actor : tmhd:supercategory) tmtd:part-whole(actor : tmtd:whole, role : tmtd:part) tmtd:part-whole(person : tmtd:whole, age : tmtd:part)
  • Versioning of TM Templates and Scalability Versioning M. Ueberall, O. Drobnik Example: Proxy Design Pattern Introduction uses Service Client Structuring action() V1 Versioning V1 Service- Scalability Annotation Proc. Model V1 Ongoing Work
  • Versioning of TM Templates and Scalability Versioning M. Ueberall, O. Drobnik Example: Proxy Design Pattern Introduction uses Service Client Structuring action() V1 Versioning V1 Service- Scalability decoupling Annotation Proc. Model V1 Ongoing Work «interface» uses ServiceIF Client action() V1 ... V1 Client- Annotation V1 V1 V2 ServiceProxy Service action() action() Service- Annotation V1
  • Versioning of TM Templates and Scalability Versioning M. Ueberall, O. Drobnik Granularity of Objects Introduction Structuring Name ... Name ... Versioning UseCase FlightBooking UseCase FlightBooking Scalability Description Statement A Description Statement B Description1 Statement A Proc. Model Statement C Description2 Statement B Ongoing Work Precondition ... Description3 Statement C Action ... Precondition ... Postcondition ... Action ... Postcondition ... • rule-of-thumb: any statement which is explicitly referenced has to be reified • ordering accomplishable by means of “sortkey” concept, cf. [Grønmo93]
  • Versioning of TM Templates and Scalability Versioning M. Ueberall, O. Drobnik Metadata for Units of Information, LTM notation Introduction Structuring // <occurrence | association> ~object-ref Versioning Scalability // dc: cf. http://dublincore.org/documents/dces (Dublin Core) Proc. Model {object-ref, dc:creation-date, [[2007-06-04T2359:59+01:00]]} Ongoing Work {object-ref, dc:version, [[version-id]]} {object-ref, dc:author, [[user-id]]} // skos: cf. http://w3.org/2004/02/skos (SKOS) {object-ref, skos:changeNote, [[description]]} ... is-replaced-by(object-ref1 :old-obj, object-ref2 :new-obj) is-deprecated(object-ref3 :obj) is-deleted(object-ref4 :obj)
  • Versioning of TM Templates and Scalability Versioning and Scalability M. Ueberall, O. Drobnik Software Development Scenario Introduction Structuring Phases / Artefacts Information Flow Visualisations domain specific forms-based Versioning Requirements Analysis Phase Annotation Flight UseCase FlightBooking Scalability Precond. ... - Use Cases Status: . . . FlightBooking exte nds Postcond. ... Depend. ... Proc. Model - Business Cases Conflicts ... Actors ... PrintTicket Requirem. High-availability Ongoing Work Design Phase DesignPatt. Proxy «interface» Comm. Decoupling - Architectural Patterns Status: . . . Client uses ServiceIF action() Purpose Synonyms ... - Design Patterns ... Uses Structure ... ... Annot Depend. ... ation Conflicts ... Implementation Phase Annotation Implement. TicketingService - Packages Precond. ... Postcond. ... - Classes Depend. ... - Code Status: . . . Conflicts DesignPatt. ... Proxy, ... Package 1 Package 2 Uses ...
  • Versioning of TM Templates and Scalability Versioning and Scalability M. Ueberall, O. Drobnik Software Development Scenario Introduction Structuring Phases / Artefacts Information Flow Visualisations domain specific forms-based Versioning Requirements Analysis Phase Annotation Flight UseCase FlightBooking Scalability Precond. ... - Use Cases Status: . . . FlightBooking exte nds Postcond. ... Depend. ... Proc. Model - Business Cases Conflicts ... Actors ... PrintTicket Requirem. High-availability Ongoing Work Design Phase «interface» uses ServiceIF Client action() DesignPatt. Proxy ... Decision: Use of Comm. Decoupling - Architectural Patterns Purpose Synonyms ... proxy pattern for - Design Patterns Annot ation Uses ... client-server comm. Structure ... Depend. ... ServiceProxy Service Conflicts ... action() action() Implementation Phase Annotation Implement. TicketingService - Packages Precond. ... Postcond. ... - Classes Depend. ... - Code Status: . . . Conflicts DesignPatt. ... Proxy, ... Package 1 Package 2 Uses ...
  • Versioning of TM Templates and Scalability Versioning and Scalability M. Ueberall, O. Drobnik Software Development Scenario Introduction Structuring Phases / Artefacts Information Flow Visualisations domain specific forms-based Versioning Requirements Analysis Phase Annotation Flight UseCase FlightBooking Scalability Precond. ... - Use Cases Status: . . . FlightBooking exte nds Postcond. ... Depend. ... Proc. Model - Business Cases Conflicts ... Actors ... PrintTicket Requirem. High-availability Ongoing Work Design Phase «interface» uses ServiceIF Client action() DesignPatt. Proxy ... Decision: Use of Comm. Decoupling - Architectural Patterns Purpose Synonyms ... proxy pattern for - Design Patterns Annot ation Uses ... client-server comm. Structure ... Depend. ... ServiceProxy Service Conflicts ... action() action() Implementation Phase Annotation Implement. TicketingService - Packages Precond. ... Postcond. ... - Classes Depend. ... - Code Status: . . . Conflicts DesignPatt. ... Proxy, ... Package 1 Package 2 Uses ...
  • Versioning of TM Templates and Scalability Versioning and Scalability M. Ueberall, O. Drobnik Software Development Scenario Introduction Structuring Phases / Artefacts Information Flow Visualisations domain specific forms-based Versioning Requirements Analysis Phase Annotation Flight UseCase FlightBooking Scalability Precond. ... - Use Cases Status: . . . FlightBooking exte nds Postcond. ... Depend. ... Proc. Model - Business Cases Conflicts ... Actors ... PrintTicket Requirem. High-availability Ongoing Work Design Phase «interface» uses ServiceIF Client action() DesignPatt. Proxy ... Decision: Use of Comm. Decoupling - Architectural Patterns Purpose Synonyms ... proxy pattern for - Design Patterns Annot ation Uses ... client-server comm. Structure ... Depend. ... ServiceProxy Service Conflicts ... action() action() Implementation Phase Annotation Implement. TicketingService - Packages Precond. ... Constraint violation: Postcond. ... - Classes Depend. ... Implementation not in - Code Conflicts DesignPatt. ... Proxy, ... sync with new Design Package 1 Package 2 Uses ... Pattern
  • Versioning of TM Templates and Scalability Versioning and Scalability M. Ueberall, O. Drobnik Software Development Scenario Introduction Structuring Phases / Artefacts Information Flow Visualisations domain specific forms-based Versioning Requirements Analysis Phase Annotation Flight Status: Use case UseCase FlightBooking Scalability Precond. ... - Use Cases addressed, but not FlightBooking exte nds Postcond. ... implemented yet Depend. ... Proc. Model - Business Cases Conflicts ... Actors ... PrintTicket Requirem. High-availability Ongoing Work Design Phase «interface» uses ServiceIF Client action() DesignPatt. Proxy ... Decision: Use of Comm. Decoupling - Architectural Patterns Purpose Synonyms ... proxy pattern for - Design Patterns Annot ation Uses ... client-server comm. Structure ... Depend. ... ServiceProxy Service Conflicts ... action() action() Implementation Phase Annotation Implement. TicketingService - Packages Precond. ... Constraint violation: Postcond. ... - Classes Depend. ... Implementation not in - Code Conflicts DesignPatt. ... Proxy, ... sync with new Design Package 1 Package 2 Uses ... Pattern
  • Versioning of TM Templates and Scalability Versioning and Scalability M. Ueberall, O. Drobnik Introduction • The key to Scalability is always some kind of Structuring “divide-and-conquer” method Versioning • In our case → exploitation of combined known Scalability advantages of both Topic Map based representations Proc. Model and hierarchical structuring: Ongoing Work • Querying and Filtering: each participant is presented a view which contains concepts from his domain of knowledge • Interlinked Representations: all changes are propagated (and thereby “mapped” according to pre-defined/user-supplied constraints) and require reconcilliation • Communication Complexity: i.e., modifications can be exchanged by means of Topic Map Fragments → Meta Process Model
  • Versioning of TM Templates and Scalability Meta Process Model M. Ueberall, O. Drobnik Introduction Structuring Versioning • Simple approach consists of two alternating Scalability Proc. Model subphases: Ongoing Work • summarisation: annotation of own modifications • exploration: finding of others’ modifications • Conflicts can be resolved using, e.g., • computer-driven matchings of concepts • computer-aided reconcillation
  • Versioning of TM Templates and Scalability Prototype: Ongoing Work M. Ueberall, O. Drobnik Introduction Structuring • modularised querying/filtering support for preliminary Versioning prototype Scalability • evaluation with regard to more complex development Proc. Model scenarios Ongoing Work • combination with other Eclipse plugins, e.g., pattern scanners • medium-term objective: support for coping with ontology changes and/or mergers within meta process model subphases • long-term objective: support of operations as needed for decentralised version management (n-way merge)
  • Versioning of TM Templates and Scalability M. Ueberall, O. Drobnik Introduction Structuring Versioning Scalability Proc. Model Ongoing Work Thank you! e-mail to: ueberall@tm.informatik.uni-frankfurt.de
  • Versioning of TM Templates and Scalability (Nested) Templates M. Ueberall, O. Drobnik Definition Introduction Structuring • A Template consists of any combination of related Versioning Scalability individual Topic Map Objects Proc. Model • used for instantiation of concepts as identifyable objects • important component: human-readalbe description of Ongoing Work the underlying semantics • Nested Templates are Templates which include references to other Templates • derivation of new definitions through extension and/or combination of existing (base) concepts (analogous to the underlying principle for DITA (Darwin Information Typing Architecture), though the latter does not support, e.g., typed associations
  • Versioning of TM Templates and Scalability Constraints M. Ueberall, O. Drobnik Definition Introduction Structuring Versioning • constraints are particularly usage restrictions Scalability • basic types of constraints include: Proc. Model • cardinality constraints: define the allowed cardinalities Ongoing Work of instances of a Topic Map object (e.g., a certain role within an association) • type/role constraints: ensure that Topic Map objects are used according to their initial semantic definition (cf. NCPL occurrence-type, topic-type) • scope: can be seen as extension of the foremention item, if applicable using the scope operator (e.g., context-sensitive description of roles: person’s age, age)
  • Versioning of TM Templates and Scalability Usage Restrictions for Templates M. Ueberall, O. Drobnik Constraints Example Introduction Structuring Versioning Name ... Name ... Name ... UseCase FlightBooking UseCase FlightBooking UseCase FlightBooking Scalability Name: Customer Name: Customer Name: Customer Type: Person Type: ... Person Type: ... Person Proc. Model Actor Age: ... 18 Actor Actor Person’s age: 18 Person’s age: 18 Age: 30 Ongoing Work Precondition ... Precondition ... Precondition ... Customer Action ... Action ... Action ... Postcondition ... Postcondition ... Age: (a) (b) (c) (a) cardinality constraint for “Age” (b) context-sensitive labeling (c) occurrence-type cannot be used as template attribute
  • Versioning of TM Templates and Scalability Hierarchical Structuring M. Ueberall, O. Drobnik Introduction Structuring Versioning • Hierarchical structuring facilitates the underlying Scalability application logics, which are needed for nested Proc. Model template support (e.g., for dealing with Ongoing Work context-sensitive handling of inputs) • the TMDM (Topic Map Data Model) specification only lists basic relations like supertype-subtype which are not flexible enough (for our purposes) • in particular, the faceted classification system comes in handy
  • Versioning of TM Templates and Scalability Hierarchical Structuring M. Ueberall, O. Drobnik Faceted classification: Definition Introduction Structuring Versioning • A faceted classification system allows the assignment Scalability of multiple classifications to an object Proc. Model • this enables the classifications to be ordered in multiple Ongoing Work ways, rather than in a single, pre-determined, taxonomic order • The most prominent use of faceted classification is in faceted navigation systems that enable a user to navigate information hierarchically, going from a category to its sub-categories, but choosing the order in which the categories are presented
  • Versioning of TM Templates and Scalability Versioning M. Ueberall, O. Drobnik Definition Introduction Structuring Versioning Scalability • Versioning is conceived as management of multiple Proc. Model revisions of the “same” unit of information Ongoing Work • in our context: unit of information = template/instance • Minimum requirement: unique version id (not necessarily human-readable) and ancestor information • in practice (collaborative environments), additional metadata (author, date, comment, ...) is essential
  • Versioning of TM Templates and Scalability Versioning M. Ueberall, O. Drobnik Importance of the Directed Acyclic Graph structure Introduction branch (copy) 1.7 1.7.1.1 Structuring Versioning Scalability 1.7.1.2 Proc. Model 1.8 merge Ongoing Work 1.7.1.3 1.9 1.10 merge 1.7.1.4 1.7.1.5 merge 1.11 (cf. http://www.kerneltraffic.org/kernel-traffic/kt20030323_210.txt)