Counting Instances of Software Components
MetadataShow full item record
Component software is software that has been assembled from various pieces of standardized, reusable computer programs, so-called components. Executing component software creates instances of these components. For several reasons, for example, limited resources and/or application requirements, it can be important to have control over the number of such instances. Clearly, in cases where this is possible, design-time or compile-time control is to be preferred to run-time control. We give an abstract component language and a type system which ensures that the number of simultaneously active instances of any component never exceeds a (sharp) bound expressed in the type. The language features instantiation and reuse of components, as well as sequential composition, choice and scope. Alternatively one can view the expressions in the language as denoting processes where the atomic actions are interpreted as either creating new, or reusing old instances.