|
1
|
- different kinds of component packaging
- different kinds of interactions between the components
- system model, components, connectors and control structure
|
|
2
|
- System model - mapping data streams to data streams
- Components - filters (computational, local processing)
- Connectors - data streams - ascii ds for unix pipelines
- Control Structure - data flow
|
|
3
|
|
|
4
|
- System model - localized state maintenance
- Components - managers: servers, objects, ADT
- Connectors - proc call with dynamic binding
- Control structure - decentralized, usually single thread
|
|
5
|
|
|
6
|
- System model - independent reactive processes
- Components - processes that signal significant events without knowing
recipients of signals
- Connectors - automatic invocation of processes that have registered
interest in events
- Control structure - decentralized; indiv components are not aware of
recipients of signal
|
|
7
|
- System model - centralized data, usually richly structured
- Components - one memory, many purely computational processes
- Connectors - comput. units interact with memory by direct data access or
procedure call
- Control structure - varies with type of repository; (depends on input
data stream, as for db, predetermined or internal (depends on state of
computation as for blackboards)
|
|
8
|
|
|
9
|
- System model - virtual machine
- Components - one state machine ( the execution engine) and three
memories (current state of execution machine, program being interpreted,
current state of program being interpreted)
- Connectors - data access and proc call
- Control structures - state-transition for execution engine; input-driven
for selection of what to interpret.
|
|
10
|
|
|
11
|
- System model - call and definition hierarchy
- Components - procedures
- Connectors - proc calls
- Control structure - single thread
|
|
12
|
- System model - hierarchy of opaque layers
- Components - composites - collections of procs
- Connectors - depends on structure of components; often proc calls; might
also be client server
- Control structure - single thread
|
|
13
|
|
|
14
|
|
|
15
|
- change A’s form to B’s form; in principle possible (but expensive) to
completely rewrite one of the components to work with the other
- publish an abstraction of A’s form: APIs publish the procedure calls
used to control a component. Open
Interfaces -abstraction. Projections or views for databases
|
|
16
|
- transform from A’s form to B’s form on the fly: some distributed systems
do this
- negotiate to find a common form for A and B: modems commonly negotiate
to find their fastest common protocol
- make B multilingual: portable unix code will run on many processors
|
|
17
|
- provide B with import/export converters: standalone applications provide
representation conversion services; extensions or external add-ons
translate to and from foreign formats on demand
|
|
18
|
- introduce an intermediate form; external interchange representation,
sometimes supported by Interface Description Languages (IDLs) can
provide a neutral base.
especially convenient when many components with different forms
are involved. standard distribution forms (RTF, MIF, Postscript) another
alternative
|
|
19
|
- attach an adapter or wrapper to A:
ultimate wrapper may be the code that causes one machine to
emulate another.
- maintain parallel consistent versions of A and B: possible, though
delicate, for A & B to maintain their own forms and be extremely
careful to make all changes to both forms
|
|
20
|
|