Abstract:
Software is often being assembled using third-party components where the developers have little knowledge of, and even less control over, the internals of the components comprising the overall system. One obstacle to composing agents is that current formal methods are mainly concerned with “closed” systems that are built from the ground up. Such systems are fully under the control of the user. Hence, problems arising from ill-specified components can be resolved by a close inspection of the systems. When composing systems using “off-the-shelf” components, this is often no longer the case.
An off-the-shelf component one wants to use may not exactly match the user requirements, or it may be under specified. An under specification occurs when the specification of the component claims more behaviors than it actually has, some of which may render it useless. Given such an under-specified or mismatched module, we propose a method to automatically synthesize safety properties from it, that that can be used to tame its “bad” behaviors. The advantage of restricting to safety properties is that they are monitorable.
We present various methods for synthesizing such safety properties when the user specification and the component specification are given by automata or by temporal logic formulas. The safety properties are derived using an automata-theoretic approach. When restricting to omega-regular languages, there is no maximal safety property. We construct an increasing sequence of safety properties. We also show how to construct infinite-state automata that can capture any safety property that is contained in the original specifications.
Joint work with L. Zuck, M. Zhou et al.
![]() |
Maintainer | [ Home > Seminar ] |
Last modified: Thu Apr 20 12:37:58 EDT 2006 |