The Object-Z specification language
The Object-Z specification language
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Specification Diagrams for Actor Systems
Higher-Order and Symbolic Computation
A foundation for actor computation
Journal of Functional Programming
Principles of Model Checking (Representation and Mind Series)
Principles of Model Checking (Representation and Mind Series)
A universal modular ACTOR formalism for artificial intelligence
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
JCoBox: generalizing active objects to concurrent components
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Concurrency among strangers: programming in E as plan coordination
TGC'05 Proceedings of the 1st international conference on Trustworthy global computing
Location types for safe distributed object-oriented programming
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Java JR: fully abstract trace semantics for a core java language
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Full abstraction at package boundaries of object-oriented languages
SBMF'11 Proceedings of the 14th Brazilian conference on Formal Methods: foundations and Applications
ABS: a core language for abstract behavioral specification
FMCO'10 Proceedings of the 9th international conference on Formal Methods for Components and Objects
Verifying backwards compatibility of object-oriented libraries using Boogie
Proceedings of the 14th Workshop on Formal Techniques for Java-like Programs
Adaptable and evolving software for eternal systems
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Hi-index | 0.00 |
Maintenance and evolution of software systems require to modify or exchange system components. In many cases, we would like the new component versions to be backward compatible to the old ones, at least for the use in the given context. Whereas on the program level formal techniques to precisely define and verify backward compatibility are under development, the situation on the system level is less mature. A system component C has not only communication interfaces to other system components, but also to human users or the environment of the system. In such scenarios, compatibility checking of different versions of C needs more than program analysis: · The behavior of the users are not part of the program, but needs to be considered for the overall system behavior. If the user interaction in the new version is different from the old one, the notion of compatibility needs clarification. · Analyzing the user interface code makes checking technically difficult. · We suggest to use behavioral software models for compatibility checking. In our approach, the underlying system, the old and new component, and the nondeterministic behavior of the environment are modeled with the concurrent object-oriented behavioral modeling language ABS. Abstracting from implementation details, the checking becomes simpler than on the program level.