Runtime Verification of Compound Components with ComMA

Ivan Kurtev, Jozef Hooman

A Journey from Process Algebra via Timed Automata to Model Learning, Essays Dedicated to Frits Vaandrager on the Occasion of His 60th Birthday, Lecture Notes in Computer Science (LNCS), Volume 13560, pages 382-402, 2022.

ABSTRACT

The ComMA language has been developed to specify interfaces of software components, including protocol state machines, time and data constraints, and constraints on relations between events of multiple interfaces. The language has been devised in close collaboration with an industrial partner where it has been used to model a large number of interfaces. Based on a ComMA model, a number of artefacts can be generated such as documentation and test cases. Important is the generation of a monitor which is used to check if an implementation conforms to the specified model. This paper describes the ComMA monitoring algorithms. They are based on runtime verification techniques which have been extended to deal with the expressive ComMA language.

pdf