JWire Concepts AComposite foo : Foobar : Bar Components are Java objects. Components play roles in one or more interaction protocols. Roles are named and typed. out : Requirement in : Input Systems are created by instantiating components and “wiring” their roles together. New component types can be defined as compositions of existing components.
Meta-level Descriptors Descriptors are per instance not per class (c.f. Java Beans)
Composition “Recipes” To place components, ALAN run-time must know their resource requirements. How? –Add this information to the descriptors Create descriptors first: –Descriptors encapsulate how to create components and bind them –Act as “recipes” for a configuration
What For? Automatic creation of distributed app’s –User’s applications generates recipes E.g. for searching, purchasing, negotiating, etc. –Pass recipe to ALAN services –ALAN deploys components in optimal locations around network Mobile agents “done right” –Concurrency, distribution, efficiency