The Evolving Philosophers Problem: Dynamic Change Management
IEEE Transactions on Software Engineering
On line software version change using state transfer between processes
Software—Practice & Experience
A Formal Framework for On-line Software Version Change
IEEE Transactions on Software Engineering
Using model checking to generate tests from requirements specifications
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
LSCs: Breathing Life into Message Sequence Charts
Formal Methods in System Design
DYMOS: A dynamic modification system
SIGSOFT '83 Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on High-level debugging
Come, Let's Play: Scenario-Based Programming Using LSC's and the Play-Engine
Come, Let's Play: Scenario-Based Programming Using LSC's and the Play-Engine
Modular design and verification of component-based mechatronic systems with online-reconfiguration
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
ACM Transactions on Programming Languages and Systems (TOPLAS)
Practical dynamic software updating for C
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Model-based development of dynamically adaptive software
Proceedings of the 28th international conference on Software engineering
Specification-based Test Generation and Optimization Using Model Checking
TASE '07 Proceedings of the First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering
Tranquility: A Low Disruptive Alternative to Quiescence for Ensuring Safe Dynamic Updates
IEEE Transactions on Software Engineering
Modular verification of dynamically adaptive systems
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Dynamic update of Java applications—balancing change flexibility vs programming transparency
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on the 12th Conference on Software Maintenance and Reengineering (CSMR 2008)
Efficient systematic testing for dynamically updatable software
Proceedings of the 2nd International Workshop on Hot Topics in Software Upgrades
From model-based design to formal verification of adaptive embedded systems
ICFEM'07 Proceedings of the formal engineering methods 9th international conference on Formal methods and software engineering
Electronic Notes in Theoretical Computer Science (ENTCS)
Towards a categorical framework to ensure correct software evolutions
ICDEW '11 Proceedings of the 2011 IEEE 27th International Conference on Data Engineering Workshops
Version-consistent dynamic reconfiguration of component-based distributed systems
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
Specifying and verifying the correctness of dynamic software updates
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
Javelus: A Low Disruptive Approach to Dynamic Software Updates
APSEC '12 Proceedings of the 2012 19th Asia-Pacific Software Engineering Conference - Volume 01
Hi-index | 0.00 |
Modern software-intensive systems often have to be updated to adapt to unpredicted changes in their environments or to satisfy unpredicted requirement changes. Many systems, however, cannot be easily shut down or are expected to run continuously. Therefore, they must be updated dynamically, at run-time. Especially for critical systems, dynamic updates must be safe and performed as soon as possible. We recently studied the relationship between specification changes and dynamic updates and defined a criterion for when a system can safely disregard its current obligations and how it should change its behavior to satisfy the new specification. In this paper, we study further examples that show that stronger and weaker variants of our original criterion are relevant when engineering dynamically updating software. We formalize these criteria and discuss their safety. Moreover, we provide a tool for synthesizing dynamically updating controllers from changes in scenario-based specifications that respect the new criteria.