Show simple item record

dc.contributor.author
Piccioni, Marco
dc.contributor.author
Oriol, Manuel
dc.contributor.author
Meyer, Bertrand
dc.contributor.author
Schneider, Teseo
dc.date.accessioned
2017-08-10T12:48:46Z
dc.date.available
2017-06-10T19:30:13Z
dc.date.available
2017-08-10T12:48:46Z
dc.date.issued
2009
dc.identifier.uri
http://hdl.handle.net/20.500.11850/69757
dc.identifier.doi
10.3929/ethz-a-006733700
dc.description.abstract
Most large software systems rely on extensive amounts of persistent data — objects. Most large software systems last a long time, over which they need to change program elements — classes. Inevitably, these two characteristics clash: how do we retrieve previously “persisted” objects when the classes that describe them have changed? Naive solutions, such as initializing new fields to default values, are dangerous, since they risk invalidating the consistency of objects. For example it would be wrong for a bank account class to initialize a newly added “balance” field, in every retrieved object, to zero. Practical considerations also apply: we cannot force the code for each class to retain all its previous versions. The ESCHER framework addresses these theoretical and practical issues through an IDE-based approach, guiding the developers interactively in the process of defining object adaptation on a class-by-class basis, respecting consistency requirements expressed by class invariants. Based on the conversions specified in this process, an algorithm will transform objects as needed, enforcing class invariants to prevent the creation of any corrupt objects. The presentation describes the principles behind invariant-safe schema evolution, the design and implementation of the ESCHER system, and the experience so far.
en_US
dc.format
application/pdf
dc.language.iso
en
en_US
dc.publisher
ETH, Department of Computer Science
en_US
dc.rights.uri
http://rightsstatements.org/page/InC-NC/1.0/
dc.subject
OBJECT-ORIENTED PROGRAMMING (PROGRAMMING METHODS)
en_US
dc.subject
OBJEKTORIENTIERTE PROGRAMMIERUNG (PROGRAMMIERMETHODEN)
en_US
dc.title
An IDE-based solution for schema evolution of object-oriented software
en_US
dc.type
Report
dc.rights.license
In Copyright - Non-Commercial Use Permitted
ethz.journal.title
Technical report
ethz.journal.volume
619
en_US
ethz.size
16 p.
en_US
ethz.code.ddc
DDC - DDC::0 - Computer science, information & general works::004 - Data processing, computer science
en_US
ethz.identifier.nebis
006733700
ethz.publication.place
Zurich
en_US
ethz.publication.status
published
en_US
ethz.leitzahl
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02150 - Dep. Informatik / Dep. of Computer Science
en_US
ethz.date.deposited
2017-06-10T19:34:36Z
ethz.source
ECOL
ethz.source
ECIT
ethz.identifier.importid
imp593650d30023b66238
ethz.identifier.importid
imp59366b13de23927312
ethz.ecolpid
eth:4723
ethz.ecitpid
pub:110461
ethz.eth
yes
en_US
ethz.availability
Open access
en_US
ethz.rosetta.installDate
2017-07-25T13:05:50Z
ethz.rosetta.lastUpdated
2020-02-15T06:42:06Z
ethz.rosetta.versionExported
true
ethz.COinS
ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.atitle=An%20IDE-based%20solution%20for%20schema%20evolution%20of%20object-oriented%20software&rft.jtitle=Technical%20report&rft.date=2009&rft.volume=619&rft.au=Piccioni,%20Marco&Oriol,%20Manuel&Meyer,%20Bertrand&Schneider,%20Teseo&rft.genre=report&
 Search print copy at ETH Library

Files in this item

Thumbnail

Publication type

Show simple item record