chapter_5 Flashcards
(27 cards)
object-oriented style: components are _______
objects: data and associated operations
object-oriented style: connectors are ________
messages and method invocations
object-oriented style invariants: objects are responsible for
their internal representation integrity
oo-style internal representation is _______
hidden from other objects
oo-style advantages: “infinite malleability of”
object internals
oo-style system decomposition _______
into sets of interacting agents
disadvantages of object-oriented style (2)
objects must know identities of servers, side effects in object method invocations
layered style: hierarchical system organization (2)
multi-level client server, each layer exposes an interafce (API) to be used by above layers
layered style: each layer acts as a (2)
server: service provider to layers “above”, client: service consumer of layer(s) “below”
layered style: connectors are _____
protocols of layer interaction. example: operating systems
virtual machine style ______
results from fully opaque layers
layered style advantages (5)
- increasing abstraction levels 2. evolvability 3. changes in a layer affect at most the adjacent two layers (resuse) 4. different implementations of layer are allowed as long as interface is preserved 5. standardized layer interfaces for libraries and frameworks
layered style disadvantages (2)
disadvantages (not universally applicable, performance), layers may have to be skipped (determining the correct abstraction level)
client-server style (4)
components are clients and servers, servers do not know number or identities of clients, clients know server’s identity, connects are RPC-based network interaction protocols.
data-flow style: batch sequential (3)
batch sequential separate programs are executed in order; data is passed as an aggregate from one program to the next. connectors: “the human hand” carryign tpaes between the programs, aka “sneaker-net”, data elements: explicity aggregate elements passed from one component to the next upon completion of the producing program’s execution.
data-flow styles: typical uses ______
transaction processing in financial systems. “the granddaddy of styles”
pipe and filter style: components are filters (2)
transform input data streams into output data streams, possibly incremental production of output
pipe and filter style: connects are _____
pipes: conduits for data streams
pipe and filter style: style invariants (2)
filters are independent( no shared state), filter has no knowledge of up or down-stream filters
pipe and filter style example (4)
unix shell, signal processing, distributed systems, parallel programming
pipe and filter variations (3)
pipelines -linear sequences of filters, bounded pipes -limited amount of data on a pipe, typed pipes -data strongly typed
pipe and filter advantages (4)
system behavior is a cuccession of component behaviors, filter addition, replacement, and resuse (possible to hook any two filters together), certain analyses (throughput, latency, deadlock), concurrent execution
pipe and filter disadvantages (3)
batach organization of processing, interactive applications, lowest common denominator on data transmission
blackboard style: two kinds of components
central data structure - blackboard, components oeprating on the blackboard