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
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Versioning of TM Templates and Scalability
1. 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
2. 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
3. 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: ...
4. 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: ...
5. 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
6. Versioning of
TM Templates
and Scalability Faceted Classification
M. Ueberall,
O. Drobnik
Browser Example
Introduction
Structuring
Versioning
Scalability
Proc. Model
Ongoing Work
7. 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)
8. 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)
9. 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
10. 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
11. 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]
12. 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)
14. 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 ...
15. 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 ...
16. 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
17. 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
18. 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
19. 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
20. 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)
21. 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
22. 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
23. 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)
24. 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
25. 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
26. 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
27. 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
28. 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)