Mop: an efficient and generic runtime verification framework
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
The Common Component Modeling Example: Comparing Software Component Models
The Common Component Modeling Example: Comparing Software Component Models
Scala Actors: Unifying thread-based and event-based programming
Theoretical Computer Science
Typestate-oriented programming
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
An analysis of the variability in forty preprocessor-based software product lines
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Reducing configurations to monitor in a software product line
RV'10 Proceedings of the First international conference on Runtime verification
Executable interface specifications for testing asynchronous creol components
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
Tracechecks: defining semantic interfaces with temporal logic
SC'06 Proceedings of the 5th international conference on Software Composition
Aspect weaving in UML activity diagrams: a semantic and algorithmic framework
FACS'10 Proceedings of the 7th international conference on Formal Aspects of Component Software
Variability modelling in the ABS language
FMCO'10 Proceedings of the 9th international conference on Formal Methods for Components and Objects
Approaches for mastering change
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 |
Delta-oriented programming allows software developers to define software product lines as variations of a common code base, where variations are expressed as so-called program deltas. Monitor-oriented programming (MOP) provides a mechanism to execute functionality based on the execution history of the program; this is useful, e.g., for the purpose of runtime verification and for enforcing security policies. In this work we discuss how delta-oriented programming and MOP can benefit from each other in the Abstract Behavior Specification Language (ABS) through a new approach we call Delta-oriented Monitor Specification (DMS). We use deltas over monitor definitions to concisely capture protocol changes induced by feature combinations, and propose a notation to denote these deltas. In addition, we explore the design space for expressing runtime monitors as program deltas in ABS. A small case study shows that our approach successfully avoids code duplication in monitor specifications and that those specifications can evolve hand in hand with feature definitions.