![Page 1: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/1.jpg)
CSCI 578Software Architectures
Exam #2 Review
![Page 2: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/2.jpg)
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
![Page 3: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/3.jpg)
Exam
• Closed book, closed note
• Format– Write in answers– No multiple choice
![Page 4: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/4.jpg)
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
![Page 5: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/5.jpg)
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!
![Page 6: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/6.jpg)
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
![Page 7: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/7.jpg)
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
![Page 8: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/8.jpg)
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
![Page 9: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/9.jpg)
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
![Page 10: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/10.jpg)
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
![Page 11: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/11.jpg)
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
![Page 12: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/12.jpg)
Marvin(malicious)
Carol
Bob
Alice
Mallory(malicious)
DecentralizedAuctioning
Decentralized Auctioning
• Open decentralized application
• Independent buyers/sellers
• Potentially malicious participants
• Need to counter threats
![Page 13: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/13.jpg)
BobAlice
Mallory(malicious)
“I am Bob”
Bob is reliable and everyonehas a good opinion about Bob
Impersonation
![Page 14: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/14.jpg)
Alice “buyer”
Alice paysfor the items
Marvin “seller”(malicious)
Marvin doesnot ship the items
Fraudulent Actions
![Page 15: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/15.jpg)
BobAlice
Mallory(malicious)
“Bob is unreliable”
Bob is reliable and everyonehas a good opinion about Bob
Misrepresentation
![Page 16: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/16.jpg)
BobAlice
Mallory(malicious)
“Bob is unreliable”
Bob is reliable and everyonehas a good opinion about Bob
Marvin(malicious)
Collusion
![Page 17: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/17.jpg)
Carol(new entrant in the system)
Bob Alice
Bob has no informationabout Carol; he is not sure
whether to interact with Carol
Carol is new and does notknow Alice; she is not sure
whether to interact with Alice
Addition of Unknowns
![Page 18: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/18.jpg)
Material Review• PACE Architecture
Co
mm
un
icat
ion
Lay
erIn
form
atio
nL
ayer
Tru
stL
ayer
Communication Manager
ExternalInformation
InternalInformation
Key Manager
Signature Manager
Trust Manager
Application Trust Rules
HTTP Sender Custom Protocols Multicast Manager
Multicast Handler
Credential
Manager
A P P L I C A T I O N
![Page 19: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/19.jpg)
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
![Page 20: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/20.jpg)
Material Review
• 4 Major Deployment Activities– Planning– Modeling– Analysis– Implementation
![Page 21: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/21.jpg)
Material Review
• Deployment Implementation– Release– Install– Activate– Deactivate– Update– Adapt– Reconfigure– De-install or remove– De-release or retire
![Page 22: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/22.jpg)
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
![Page 23: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/23.jpg)
Material Review
• People, Roles and Teams– Architect desired skills
• Software development expertise• Domain expertise• Communicator• Strategist• Consultant• Leader• Technologist• Cost estimator• Cheerleader• Politician• Salesperson
![Page 24: 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](https://reader033.vdocuments.site/reader033/viewer/2022051115/5697bf731a28abf838c7f495/html5/thumbnails/24.jpg)
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