Usage Policies for Components
Wayne DePrince, Craig C. Hofmeister · 2003
Research to improve component reuse has focused on providing the specification of various behavior properties. In this paper we present our approach to this problem, which focuses not so much on specifying the behavior of the component, but instead on certain architectural constraints. We introduce our research project “lips”, a language for formally capturing these usage constraints and a toolset for automatically providing for their enforcement at runtime. Our approach captures the usage constraints that are local to a particular component. In this way we express these restrictions on its reuse independent of an actual client or application. We then embed these constraints within the component’s specification. Our toolset verifies that the component conforms to the specification and uses it to generate code which checks if the constraints are obeyed by clients at runtime.