Achieving dynamic interfaces with agent concepts

Traditionally, interfaces of software entities, modules and components are immutable at runtime and carry no information on the meanings of the underlying implementation. We believe this definition of interface imposes a rigid view or context on the interaction of software entities, which impedes software re-use and the development of open / adaptive systems. We propose a novel analysis and design construct called a dynamic interface. Dynamic interfaces capture the social ability of agents and can be evolved consistently at runtime. Semantic information about the underlying implementation is also built into the dynamic interface, while preserving information hiding. We envisage the new dynamic interface construct to be complementary to traditional immutable interfaces. The two constructs can be used consistently in applications to address different requirements. We describe a prototype implementation of the dynamic interface construct. The implementation leverages the agent concepts of goals, roles, protocols, agents and services from the ROADMAP meta-model. The initial evaluation on its flexibility and performance indicates that dynamic interfaces have potential as an industry strength design and implementation construct.