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.
[1]
Nicholas R. Jennings,et al.
The Gaia Methodology for Agent-Oriented Analysis and Design
,
2000,
Autonomous Agents and Multi-Agent Systems.
[2]
Bernhard Bauer,et al.
Extending UML for agents
,
2000
.
[3]
James A. Hendler,et al.
The Semantic Web" in Scientific American
,
2001
.
[4]
Michael Wooldridge,et al.
Agent-Oriented Software Engineering: The State of the Art
,
2009,
AOSE.
[5]
Cristina V. Lopes,et al.
Aspect-oriented programming
,
1999,
ECOOP Workshops.
[6]
Leon Sterling,et al.
The ROADMAP Meta-model for Intelligent Adaptive Multi-agent Systems in Open Environments
,
2003,
AOSE.
[7]
Paul Clements,et al.
Software product lines - practices and patterns
,
2001,
SEI series in software engineering.
[8]
Leon Sterling,et al.
ROADMAP: extending the gaia methodology for complex open systems
,
2002,
AAMAS '02.
[9]
M. Wooldridge,et al.
Organisational Abstractions for the Analysis and Design of Multi-Agent Systems
,
2000
.
[10]
Cristina V. Lopes,et al.
Aspect-oriented programming
,
1999,
ECOOP Workshops.