Abstract | ||
---|---|---|
Many long-lived and distributed systems must remain available yet evolve over time, due to, e.g., bugfixes, feature extensions, or changing user requirements. To facilitate such changes, formal methods can help in modeling and analyzing runtime software evolution. This paper presents an executable object-oriented modeling language which supports runtime software evolution. The language, based on Creol, targets distributed systems by active objects, asynchronous method calls, and futures. A dynamic class construct is proposed in this setting, providing an asynchronous and modular upgrade mechanism. At runtime, class redefinitions gradually upgrade existing instances of a class and of its subclasses. An upgrade may depend on previous upgrades of other classes. For asynchronous runtime upgrades, the static picture may differ from the actual runtime system. An operational semantics and a type and effect system are given for the language. The type analysis of an upgrade infers and collects dependencies on previous upgrades. These dependencies are exploited as runtime constraints to ensure type safety. |
Year | DOI | Venue |
---|---|---|
2009 | 10.1007/978-3-642-05089-3_38 | FM |
Keywords | Field | DocType |
previous upgrade,concurrent objects,asynchronous runtime upgrade,dynamic class,asynchronous method call,actual runtime system,upgrade infers,modular upgrade mechanism,dynamic classes,runtime constraint,runtime software evolution,modular asynchronous evolution,executable object-oriented modeling language,distributed system,type safety,user requirements,operational semantics,software evolution,formal method | Asynchronous communication,Programming language,Computer science,Modeling language,Runtime verification,Real-time computing,Formal methods,Asynchronous method invocation,Type safety,Runtime system,Executable,Distributed computing | Conference |
Volume | ISSN | Citations |
5850 | 0302-9743 | 13 |
PageRank | References | Authors |
0.63 | 17 | 3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Einar Broch Johnsen | 1 | 1071 | 69.56 |
Marcel Kyas | 2 | 258 | 27.57 |
Ingrid Chieh Yu | 3 | 164 | 18.53 |