jwire concepts acomposite foo : foobar : bar components are java objects. components play roles in...

4
JWire Concepts AComposite foo : Foo bar : Bar Components are Java objects. Components play roles in one or more interaction protocols. Roles are named and typed. 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.

Upload: ethan-hamilton

Post on 21-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JWire Concepts AComposite foo : Foobar : Bar Components are Java objects. Components play roles in one or more interaction protocols. Roles are named and

JWire Concepts

AComposite

foo : Foo bar : Bar

Components are Java objects.

Components play roles in one or more interaction protocols. Roles are named and typed.

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.

Page 2: JWire Concepts AComposite foo : Foobar : Bar Components are Java objects. Components play roles in one or more interaction protocols. Roles are named and

Meta-level Descriptors

adaptiondescrip tor

b ind ingdescrip tor

com ponentdescrip tor

com ponentdescrip tor

ro ledescrip tors

Impl

emen

tatio

nM

eta

leve

l

Descriptors are per instance not per class (c.f. Java Beans)

Page 3: JWire Concepts AComposite foo : Foobar : Bar Components are Java objects. Components play roles in one or more interaction protocols. Roles are named and

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

Page 4: JWire Concepts AComposite foo : Foobar : Bar Components are Java objects. Components play roles in one or more interaction protocols. Roles are named and

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