Serious Specification for Composing Components - Barnett, Mike; Grieskamp, Wolfgang; Kerer, Clemens; Schulte, Wolfram; Szyperski, Clemens; Tillmann, Nikolai; Watson, Arthur (Proceedings of the 6th ICSE Workshop on Component-Based Software Engineering: Automated Reasoning and Prediction, 2003)
We discuss the use of an industrial-strength specification language to specify component-level contracts for a product group within Microsoft. We outline how the specification language evolved to meet the needs of the component-based approach followed by that group. The specification language, AsmL, is executable which allows for testing to be done using runtime verification. Runtime verification dynamically monitors the behavior of a component to ensure that it conforms to its specification.