40 likes | 101 Views
JWire Concepts Components play roles in one or more interaction protocols. Components are Java objects. AComposite.foo: Foo.bar: Bar.out: Requirement<Input>.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 per instance, not per class (c.f. Java Beans). Composition “Recipes” enable ALAN runtime to manage resource requirements, create & bind components. Descriptors act as configuring recipes for automatic creation of distributed apps. Users generate recipes for searching, purchasing, etc., deployed by ALAN in optimal locations. Mobile agents optimized for concurrency, distribution, and efficiency.
E N D
JWire Concepts Components play roles in one or more interaction protocols. Roles are named and typed. Components are Java objects. AComposite foo : Foo bar : Bar out : Requirement<Input> 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