Change Management on Hybrid OMDoc Documents: A Case Study - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Change Management on Hybrid OMDoc Documents: A Case Study

Description:

design diagram: XMI[UML] source code: JavaML, CodeML ... UML Diagram. Requirements. Source Code. Test case. Implemented by. Tested by. Satisfied by ... – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 21
Provided by: stude1183
Category:

less

Transcript and Presenter's Notes

Title: Change Management on Hybrid OMDoc Documents: A Case Study


1
Change Management on Hybrid OMDoc Documents A
Case Study
Sönke Holsten, Normen Müller
2
What is Change Management on Hybrid OMDoc
Documents?
  • Change Management
  • Maintenance of relations
  • Propagation of changes
  • Hybrid OMDoc Documents
  • self-contained structured compositions of
    information units hosted in various application
    domains with OMDoc as the top-level information
    unit

3
Document-based Software Development
  • Markups constituting the software development
    process
  • formal specifications ZML, OMDoc
  • design diagram XMIUML
  • source code JavaML, CodeML

4
Requirements Specification
  • The software should be able to manage phone
    numbers, i.e. represent a phonebook. Each entry
    in the phonebook should consist of a phone number
    and a name. It should be possible to
  • add entries
  • delete entries
  • query for entries by name

5
UML Diagram
  • ltUMLModelgt
  • ltUMLClass namePhonebookgt
  • ltUMLOperation nameaddEntry/gt
  • ltUMLOperation namedelEntry /gt
  • ltUMLOperation namesearchEntry /gt
  • lt/UMLClassgt
  • ltUMLClass namePhonebookEntrygt
  • ltUMLAttribute namenumber /gt
  • ltUMLAttribute namename /gt
  • lt/UMLClassgt
  • ltUMLDatatype nameint/gt
  • ltUMLDatatype namestring/gt
  • ltUMLDatatype namevoid/gt
  • ltUMLAssociation /gt
  • lt/UMLModelgt

6
Source Code
  • /
  • This is the class Phonebook, which
  • manages phonebook entries
  • consisting of a name and a number
  • /
  • class Phonebook
  • Public
  • void addEntry(string name, int number)
  • void delEntry(string name)
  • int searchEntry(string name)
  • /
  • Phonebook class empty constructor.
  • /
  • Phonebook()
  • /
  • Phonebook class empty destructor.
  • /
  • Phonebook()

... ltccdef exportsearchEntry"gt ltccsym
cd"cpp.dec" name"public-type-function"/gt
ltapplygt ltccsym cd"cpp.types name"funtype"/gt
ltccsym cd"cpp.types" nameint"/gt ltccsym
cd"cpp.types" name"string"/gt lt/applygt ltbindgt
ltccsym cd"cpp.proc" name"function"/gt ltbvargt
ltccv name"name"/gt lt/bvargt ...
lt/bindgt lt/ccdefgt ...
7
Maintenance of relations
Requirements
Satisfied by
  • Explicit statingof relations
  • Deriving new relations

UML Diagram
Implemented by
Source Code
Verified by
Tested by
Test case
8
Change Propagation
  • Software undergoes changes, e.g. new
    functionality is implemented It should be
    possible to query for entries by number
  • Change step by step
  • Programmer renames existing method searchEntry to
    searchEntryByName

9
Requirements Specification
  • The software should be able to manage phone
    numbers, i.e. represent a phonebook. Each entry
    in the phonebook should consist of a phone number
    and a name. It should be possible to
  • add entries
  • delete entries
  • query for entries by name

10
UML Diagram
  • ltUMLModelgt
  • ltUMLClass namePhonebookgt
  • ltUMLOperation nameaddEntry/gt
  • ltUMLOperation namedelEntry /gt
  • ltUMLOperation namesearchEntry /gt
  • lt/UMLClassgt
  • ltUMLClass namePhonebookEntrygt
  • ltUMLAttribute namenumber /gt
  • ltUMLAttribute namename /gt
  • lt/UMLClassgt
  • ltUMLDatatype nameint/gt
  • ltUMLDatatype namestring/gt
  • ltUMLDatatype namevoid/gt
  • ltUMLAssociation /gt
  • lt/UMLModelgt

11
Primitive Equivalence Relations
ltagt ltbgtlt/bgt ltcgtltd/gtlt/cgt lt/agt
ltagtltb/gtltcgtltd/gt lt/cgtlt/agt

a
c
b
d
XML
12
Primitive Equivalence Relations (2)
a
a

c
b
c
b
d
d
XML
Grammar
13
Primitive Equivalence Relations (3)
a
a

c
b
c
b
d
e
XML
Grammar
DocModel
14
Document Model
  • Equivalence Relations
  • Similarity Groups
  • Groups elements that are considered equal under a
    certain equivalence relation
  • Dependencies
  • What dependencies may exist
  • Rules to compute dependencies

15
Classified Dependencies
  • 3-tuple lt(a,b), R, eqgt, where
  • a, b are information units
  • (a,b) ? R
  • eq is a set of equivalence relations
  • CDs react sensitive on eq

16
Change Relation
  • 3-tuple lt(a,b), R, eqgt, where
  • a, b are information units
  • (a,b) ? R
  • eq is a set of equivalence relations
  • CRs preserve eq

17
Outlook
  • Representation of
  • differences (XUpdate/ XQuery Update Facility
    RDF)
  • dependencies (RDF schema)
  • equivalence relations (?)
  • Extend Phonebook example step by step

18
Questions I want to answer
  • Are primitive equivalence relations sufficient
    for change detection?
  • What information do we need to automatically
    propagate a change?

19
Thank you for your attention!
20
Any suggestions?
Write a Comment
User Comments (0)
About PowerShow.com