L5 - Design Goals Flashcards
Concurrent Threads can lead to …
race conditions
Façade Pattern
Provides unified interface for a subsystem + consists of a set of public operations + makes use easier
Deployment Diagram
illustrates distribution of components on concurrent processes at runtime
Access Control Matrix
Models access of actors on classes: actors (rows) + classes (columns) + entry (access right)
Global Resource Handling
Describes access rights for different actors. Tool: Access Control Matrix
Concurrency
Addresses nonfunctional requirements (e.g.: performance/latency) + can lead to starvation/deadlocks/fairness
Hardware/Software Mapping
Mapping object model on hardware & software
Boundary Conditions
Initialization + Termination + Failure
Remote Proxy
Caching of information. Proxy object as local representative for an object in different address space. No frequent information change.
Persistent Data Management
Data is persistent if the values of their attributes live beyond execution (file system: many readers/1 writer OR database: concurrent writers and readers)
Global Access Table
Represents non-empty cell by triple (actor; class; operation): LeagueOwner; Arena; view()
Physical Concurrency
Threads provided by hardware (multiprocessors/multicores)
Thread Of Control
Path through a set of state diagrams where only a single object is active at any time
Centralized Software Control
Fork Sequence Diagram: Procedure-Driven (control in code) OR Event-Driven (control in dispatcher) OR ‘Spider’ (1 control object)
By what is a class/a class attribute and an instance of a class modeled when mapped to a database?
table (class) - column (class attribute) - row (instance of class)
Logical Concurrency
Threads provided by software
Capability
Associates pair (class; operation) with an actor: Arena; view() with LeagueOwner
Component Diagram
illustrates dependencies between components at design time/compilation/run time
Decentralized Software Control
Stair Sequence Diagram: Independent Objects (distributed control means better performance but outspread responsibility)
Good System Design foresees ______________.
… fatal failures and deals with them.
Virtual Proxy
Real object too expensive to create/download and doesn’t get accessed often.
Protection Proxy
Access Control. Provides protection for the real object. Different actors with different viewing rights.
Access Control
Associates list of pairs (actor; operation) with class: Player; play() with Match
Software Control
implicit (rule-based & logic programming) + explicit (centralized & decentralized)