80 likes | 92 Views
SIRRINE enables the description and manipulation of software systems that reason about their own structure and behavior. It uses a functional modeling language called TMK to encode functionality, teleology, compositionality, knowledge, and inferencing. SIRRINE redesigns systems by executing the TMK model, diagnosing and selecting modification strategies, and verifying the modified model.
E N D
SIRRINE Self-Improving Reflective Reasoner Integrating Noteworthy Experience
SIRRINE • Enables description and manipulation of software systems that reason about their own structure and behavior. • Systems are described by functional models which specify what its structural components do and how they work. • Self-modeling enables self-diagnosis and self-redesign.
Knowledge in SIRRINE • SIRRINE uses an functional modeling language called TMK • TMK encodes: • Functionality: What a component does. • Teleology: How a component works. • Compositionality: How components combine. • Knowledge: What components affect. • Inferencing: How components affect knowledge.
Processing in SIRRINE • SIRRINE redesigns a system by: 1. Executing the TMK model to generate a trace 2. Diagnosing the model (blame assignment) 3. Selecting a modification strategy 4. Executing the selected modification strategy 5. Executing the modified model for verification
Intelligent Agent Technology • SIRRINE may be used as a knowledge-based shell for developing intelligent agents which learn to adapt to new functional requirements. • Learning is situated within the context of reasoning. • Reasoning goals drive the strategies and methods used for learning.
Software Engineering Technology • SIRRINE may be used as a tool for manipulating architectural models of legacy software systems. • An intelligent agent in SIRRINE imitates the behavior of the legacy system. • When the agent redesigns itself, it suggests a redesign strategy for the legacy system. • This strategy can be used by software developers.
Example: Mosaic • An agent which imitates the Mosaic web browser is included as a tutorial demonstration in the SIRRINE2 release. • In the demo, the Mosaic agent adapts itself by adding a new external document viewer. • This adaptation can be used as a redesign plan for a next generation of Mosaic.