The evolution of complex software systems is promoted by software engineering principles and techniques like separation of concerns, encapsulation, stepwise refinement, and reusab...
Traditional Computer-Aided Teaching and Learning (CAT/CAL) environments in multimedia-based teleeducation do not empower knowledge consumers (trainees, students etc.) to practice ...
We describe an extension to the Java programming language that supports static conformance checking and dynamic debugging of object "protocols," i.e., sequencing constra...
Sergey Butkevich, Marco Renedo, Gerald Baumgartner...
Advanced object-oriented applications require the management of schema versions, in order to cope with changes in the structure of the stored data. Two types of versioning have be...
Fabio Grandi, Federica Mandreoli, Maria Rita Scala...
Software deployment is an evolving collection of interrelated processes such as release, install, adapt, reconfigure, update, activate, deactivate, remove, and retire. The connect...
Richard S. Hall, Dennis Heimbigner, Alexander L. W...