Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI 578 Software Architectures Exam #2 Review. Materials you are responsible for Chapters 9-17 in the text book –Also Chapter 8 on Architectural Analysis.

Similar presentations


Presentation on theme: "CSCI 578 Software Architectures Exam #2 Review. Materials you are responsible for Chapters 9-17 in the text book –Also Chapter 8 on Architectural Analysis."— Presentation transcript:

1 CSCI 578 Software Architectures Exam #2 Review

2 Materials you are responsible for Chapters 9-17 in the text book –Also Chapter 8 on Architectural Analysis since we did not cover this in the first exam All lecture material from Implementation Architectures through People, Roles and Teams (Week 15) Course Project Next Generation Climate Archiecture material/addendum

3 Exam Closed book, closed note Format –Write in answers –No multiple choice

4 Material Review Implementing Architectures –Mapping problem of design decisions to implementation artifacts (code, executables, etc.) –Common Element Mapping Understand how components, connectors, interfaces, configurations are reified in the actual system implementation –One way versus Round-trip Mapping –Architectural Implementation Frameworks a piece of software that acts as a bridge between a particular architectural style and a set of implementation technologies

5 Material Review Architectural implementation framework examples –stdio, java.io, iostream => pipe and filter Evaluating architectural implementation frameworks –Platform support, fidelity, matching assumptions, efficiency, size, cost, ease of use, reliability, robustness, availability of source code, portability, long-term maintainability and support Middleware –Represents the implementation-level reification of software connectors New Frameworks –Avoid constructing these unless you have to!

6 Material Review Designing for Non-Functional Properties (NFPs) –A software system’s non-functional property (NFP) is a constraint on the manner in which the system implements and delivers its functionality Example NFPs –Efficiency –Complexity –Scalability –Heterogeneity –Adaptability –Dependability

7 Material Review Ascertain the role of software architecture in ensuring various NFPs –At the level of major architectural building blocks Components Connectors Configurations –As embodied in architectural style-level design guidelines Efficiency, Complexity, Scalability, Heterogeneity, Adaptability, Dependability

8 Material Review Security and Trust –“The protection afforded to an automated information system in order to attain the applicable objectives of preserving the integrity, availability and confidentiality of information system resources (includes hardware, software, firmware, information/data, and telecommunications).” National Institute of Standards and Technology Design Principles –Least Privilege: give each component only the privileges it requires –Fail-safe Defaults: deny access if explicit permission is absent –Economy of Mechanism: adopt simple security mechanisms –Complete Mediation: ensure every access is permitted –Design: do not rely on secrecy for security

9 Material Review Security and Trust Design Principles –Separation of Privilege: introduce multiple parties to avoid exploitation of privileges –Least Common Mechanism: limit critical resource sharing to only a few mechanisms –Psychological Acceptability: make security mechanisms usable –Defense in Depth: have multiple layers of countermeasures

10 Material Review Decentralized –No centralized authority to coordinate and control entities –Independent peers, with possibly conflicting goals, interact with each other and make local autonomous decisions –Presence of malicious peers in open decentralized applications –Need for measures to protect peers against malicious attacks

11 Material Review Some Threats of Decentralization –Impersonation: Mallory says she is Bob to Alice –Fraudulent Actions: Mallory doesn’t complete transactions –Misrepresenting Trust: Mallory tells everyone Bob is evil –Collusion: Mallory and Eve tell everyone Bob is evil –Addition of Unknowns: Alice has never met Bob

12 Marvin (malicious) Carol Bob Alice Mallory (malicious) Decentralized Auctioning Decentralized Auctioning Open decentralized application Independent buyers/sellers Potentially malicious participants Need to counter threats

13 Bob Alice Mallory (malicious) “I am Bob” Bob is reliable and everyone has a good opinion about Bob Impersonation

14 Alice “buyer” Alice pays for the items Marvin “seller” (malicious) Marvin does not ship the items Fraudulent Actions

15 Bob Alice Mallory (malicious) “Bob is unreliable” Bob is reliable and everyone has a good opinion about Bob Misrepresentation

16 Bob Alice Mallory (malicious) “Bob is unreliable” Bob is reliable and everyone has a good opinion about Bob Marvin (malicious) Collusion

17 Carol (new entrant in the system) Bob Alice Bob has no information about Carol; he is not sure whether to interact with Carol Carol is new and does not know Alice; she is not sure whether to interact with Alice Addition of Unknowns

18 Material Review PACE Architecture Communication Layer Information Layer Trust Layer Communication Manager External Information Internal Information Key Manager Signature Manager Trust Manager Application Trust Rules HTTP SenderCustom ProtocolsMulticast Manager Multicast Handler Credentia l Manager A P P L I C A T I O N

19 Material Review Deployment and Mobility –Deployment is the process of placement of a system’s software components on its hardware hosts –Changing the deployment of a component during runtime is called migration or redeployment –Migration or redeployment is a type of software system mobility –Mobility entails a superset of deployment issues

20 Material Review 4 Major Deployment Activities –Planning –Modeling –Analysis –Implementation

21 Material Review Deployment Implementation –Release –Install –Activate –Deactivate –Update –Adapt –Reconfigure –De-install or remove –De-release or retire

22 Material Review Code Mobility Paradigms –Remote evaluation Re-deploy needed component at runtime from a source host to a destination host Install component on the destination host –Code-on-demand Same as remote evaluation, but roles of target and destination hosts are reversed –Mobile agent Migration of a stateful software component that needs some remote resources to complete its task

23 Material Review People, Roles and Teams –Architect desired skills Software development expertise Domain expertise Communicator Strategist Consultant Leader Technologist Cost estimator Cheerleader Politician Salesperson

24 Material Review Pitfalls of the architecture team –Imbalance of skills Lack of software development experience Lack of domain expertise –Lack of authority Team acts as committee –Life in ivory tower –Confusing tools/techniques/methodologies with architectures –Procrastination


Download ppt "CSCI 578 Software Architectures Exam #2 Review. Materials you are responsible for Chapters 9-17 in the text book –Also Chapter 8 on Architectural Analysis."

Similar presentations


Ads by Google