SlideShare a Scribd company logo
1 of 25
Software Architecture
Architecture Styles
Software Architecture
• Good software engineers make use of architectural principles
when designing complex software
• First, able to recognize and understand high-level
relationships among systems so that new systems can be built
as variations on old systems.
• Second, getting the right architecture is often crucial to the
success of a software system design; the wrong one can lead
to disastrous results.
• Third, detailed understanding of software architectures allows
the engineer to make principled choices among design
alternatives.
• Fourth, an architectural system representation is often
essential to the analysis and description of the high level
properties of a complex system.
Programming Languages to Software
Architecture
• High Level Programming Languages
• Abstract Data Types
– If you get the data structures right then
development be easier.
– Leads to understanding of s/w structures,
specifications, language issues etc.
• Software Architecture
Common Architectural Styles
• Common Framework is required to understand
differences between styles
• Framework: A specific system is a collection of
components (computational) together with a
description of the interactions between these
components (connectors).
– It is like a Graph.
– Nodes represent components
– Arcs represent connectors (interaction)
• Style: Defines a family of such systems in terms of a
pattern of structural organization.
– Determines vocabulary and set of constraints.
Questions to understand a Style
• What is the structural pattern—the components,
connectors, and constraints?
• What is the underlying computational model?
• What are the essential invariants of the style?
• What are some common examples of its use?
• What are the advantages and disadvantages of using
that style?
• What are some of the common specializations?
Pipes and Filters
• Each component has a set of inputs and set of outputs.
• Components are filters (independent entities)
• Connectors are pipes
• Examples: Compilers, Unix Shell Programs
Advantages
• First, they allow the designer to understand the overall
input/output behavior of a system as a simple composition of
the behaviors of the individual filters.
• Second, they support reuse: any two filters can be hooked
together, provided they agree on the data that is being
transmitted between them.
• Third, systems can be easily maintained and enhanced: new
filters can be added to existing systems and old filters can be
replaced by improved ones.
• Fourth, they permit certain kinds of specialized analysis, such
as throughput and deadlock analysis.
• Finally, they naturally support concurrent execution. Each
filter can be implemented as a separate task and potentially
executed in parallel with other filters
Disadvantages
• First, pipe and filter systems often lead to a
batch organization of processing
– Not good at handling interactive operations
• Second, they may be hampered by having to
maintain correspondences between two
separate, but related streams
• Third, depending on the implementation, they
may force a lowest common denominator on
data transmission
– Loss of performance, increased complexity
Data Abstraction & OO Organization
• Data representation and operations are
encapsulated in object (components)
• Objects interact through functions and
procedure calls.
Advantages
• Because an object hides its representation from its
clients, it is possible to change the implementation
without affecting those clients.
• Additionally, the bundling of a set of accessing
routines with the data they manipulate allows
designers to decompose problems into collections of
interacting agents.
Disadvantages
• The most significant is that in order for one
object to interact with another (via procedure
call) it must know the identity of that other
object.
• Further there can be side effect problems: if A
uses object B and C also uses B, then C's effects
on B look like unexpected side effects to A, and
Event Based, Implicit invocation
• Explicit invocation
• Implicit invocation
– Also called as: Reactive integration, Selective
broadcast
– Example: Editors and variable monitors register
with debugger’s.
Advantages and Disadvantages
• Advantages
– Strong support for reuse
– Easy system evolution
• Disadvantages
– Relinquish control over the computation performed by the
system
• No idea what other components respond to the event
• Cannot rely on the order in which they are invoked.
• Don’t know when the invocation is completed.
– Exchange of data
Layered Systems
• A layered system is organized hierarchically
Advantages and Disadvantages
• Advantages
– First, they support design based on increasing
levels of abstraction.
– Second, they support enhancement.
– Third, they support reuse.
• Disadvantages
– Not all systems are easily structured in a layered
fashion
– Difficult to define system-independent layers
Repositories
• Traditional database: Types of transactions in an input
stream of transaction trigger selection of processes to
execute.
• Blackboard: Current state of the database is the main
trigger of selecting the processes to execute
– Knowledge sources, blackboard data structure,
Control
– Examples: Signal processing, such as speech and
pattern recognition
• The repository styles works by using a centralized database to
contain all of
• the shared data.
• Advantages
• • Efficient way to share large amounts of data;
• • Sub-systems need not be concerned with how data is
produced
• • Centralized management e.g. backup, security, etc.
• • Sharing model is published as the repository schema.
• Disadvantages
• • Sub-systems must agree on a repository data model.
Inevitably a compromise;
• • Data evolution is difficult and expensive;
• • No scope for specific management policies;
• Difficult to distribute efficiently.
• Two kinds of components
– Central data structure — blackboard
– Components operating on the blackboard
• System control is entirely driven by the
blackboard state
• Examples
– Typically used for AI systems
– Integrated software environments
– Compiler architecture
• The blackboard model is
• usually presented with three major parts:
• The knowledge sources: separate, independent parcels of application
dependent
• knowledge. Interaction among knowledge sources takes
• place solely through the blackboard.
• The blackboard data structure: problem-solving state data, organized
into an
• application-dependent hierarchy. Knowledge sources make changes to
• the blackboard that lead incrementally to a solution to the problem.
• Control: driven entirely by state of blackboard. Knowledge sources
respond
• opportunistically when changes in the blackboard make them applicable.
Table Driven Interpreters
• A virtual machine is produced in s/w
• Interpreter includes
– Psuedo-program being interpreted
– Interpretation engine
• Commonly used to build virtual machines.
Other Architectures
• Distributed processes
– For Multi Process Systems
• Examples: Ring or Star Topologies
• Client Server
• Main program/subroutine organizations
– Mirrors programming language in which the system is written
• Domain specific s/w architectures
– Provide an organizational structure tailored to a family of applications
• Examples: avionics, command and control, or vehicle management
systems.
• State Transition systems
– Common organization for many reactive systems.
• Process control systems
– Systems intended to provide dynamic control of a physical
environment
Heterogeneous Architectures
• Most systems typically involve a combinations of several styles
• One way of combining architectural styles is Hierarchy
– Example: Unix pipeline
• A second way for styles to be combined is to permit a single
component to use a mixture of architectural connectors.
– Example: Accessing data
• A third way for styles to be combined is to completely elaborate
one level of architectural description in a completely different
architectural style.
Case Studies
• Key word in context
– Main program/subroutine with shared data
– Abstract data types
– Implicit Invocation
– Pipes and filters
• Instrumentation software
– OO style
– Layered style
– Pipe and filter style
– Modified pipe and filter style
Case Studies
• Compiler
– Traditional compiler model
– Traditional compiler model with shared data
– Modern canonical compiler

More Related Content

Similar to WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx

Chapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptxChapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptxRushikeshChikane2
 
Shared information systems
Shared information systemsShared information systems
Shared information systemsHimanshu
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering arvind pandey
 
An Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryAn Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryJohn Ortiz
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
Software Engineering Lec 8-design-
Software Engineering Lec 8-design-Software Engineering Lec 8-design-
Software Engineering Lec 8-design-Taymoor Nazmy
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural designdevika g
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentationdikshagupta111
 
Software Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxSoftware Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxgauriVarshney8
 
Software engineering 17 architectural design
Software engineering 17 architectural designSoftware engineering 17 architectural design
Software engineering 17 architectural designVaibhav Khanna
 
Architectural patterns part 1
Architectural patterns part 1Architectural patterns part 1
Architectural patterns part 1assinha
 
Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance SHIKHA GAUTAM
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureAhmed Misbah
 

Similar to WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx (20)

Chapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptxChapter 3_Architectural Styles.pptx
Chapter 3_Architectural Styles.pptx
 
Shared information systems
Shared information systemsShared information systems
Shared information systems
 
architeral design.pptx
architeral design.pptxarchiteral design.pptx
architeral design.pptx
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
 
An Introduction to Software Architecture - Summary
An Introduction to Software Architecture - SummaryAn Introduction to Software Architecture - Summary
An Introduction to Software Architecture - Summary
 
Unit ii
Unit ii  Unit ii
Unit ii
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Software Engineering Lec 8-design-
Software Engineering Lec 8-design-Software Engineering Lec 8-design-
Software Engineering Lec 8-design-
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 
Patterns
PatternsPatterns
Patterns
 
Software Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptxSoftware Eng S3 ( Software Design ).pptx
Software Eng S3 ( Software Design ).pptx
 
DSchap-02.ppt
DSchap-02.pptDSchap-02.ppt
DSchap-02.ppt
 
Software engineering 17 architectural design
Software engineering 17 architectural designSoftware engineering 17 architectural design
Software engineering 17 architectural design
 
Architectural patterns part 1
Architectural patterns part 1Architectural patterns part 1
Architectural patterns part 1
 
Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance Distributed Systems Introduction and Importance
Distributed Systems Introduction and Importance
 
Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 

Recently uploaded

Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 

Recently uploaded (20)

Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 

WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx

  • 2. Software Architecture • Good software engineers make use of architectural principles when designing complex software • First, able to recognize and understand high-level relationships among systems so that new systems can be built as variations on old systems. • Second, getting the right architecture is often crucial to the success of a software system design; the wrong one can lead to disastrous results. • Third, detailed understanding of software architectures allows the engineer to make principled choices among design alternatives. • Fourth, an architectural system representation is often essential to the analysis and description of the high level properties of a complex system.
  • 3. Programming Languages to Software Architecture • High Level Programming Languages • Abstract Data Types – If you get the data structures right then development be easier. – Leads to understanding of s/w structures, specifications, language issues etc. • Software Architecture
  • 4. Common Architectural Styles • Common Framework is required to understand differences between styles • Framework: A specific system is a collection of components (computational) together with a description of the interactions between these components (connectors). – It is like a Graph. – Nodes represent components – Arcs represent connectors (interaction) • Style: Defines a family of such systems in terms of a pattern of structural organization. – Determines vocabulary and set of constraints.
  • 5. Questions to understand a Style • What is the structural pattern—the components, connectors, and constraints? • What is the underlying computational model? • What are the essential invariants of the style? • What are some common examples of its use? • What are the advantages and disadvantages of using that style? • What are some of the common specializations?
  • 6. Pipes and Filters • Each component has a set of inputs and set of outputs. • Components are filters (independent entities) • Connectors are pipes • Examples: Compilers, Unix Shell Programs
  • 7. Advantages • First, they allow the designer to understand the overall input/output behavior of a system as a simple composition of the behaviors of the individual filters. • Second, they support reuse: any two filters can be hooked together, provided they agree on the data that is being transmitted between them. • Third, systems can be easily maintained and enhanced: new filters can be added to existing systems and old filters can be replaced by improved ones. • Fourth, they permit certain kinds of specialized analysis, such as throughput and deadlock analysis. • Finally, they naturally support concurrent execution. Each filter can be implemented as a separate task and potentially executed in parallel with other filters
  • 8. Disadvantages • First, pipe and filter systems often lead to a batch organization of processing – Not good at handling interactive operations • Second, they may be hampered by having to maintain correspondences between two separate, but related streams • Third, depending on the implementation, they may force a lowest common denominator on data transmission – Loss of performance, increased complexity
  • 9. Data Abstraction & OO Organization • Data representation and operations are encapsulated in object (components) • Objects interact through functions and procedure calls.
  • 10. Advantages • Because an object hides its representation from its clients, it is possible to change the implementation without affecting those clients. • Additionally, the bundling of a set of accessing routines with the data they manipulate allows designers to decompose problems into collections of interacting agents.
  • 11. Disadvantages • The most significant is that in order for one object to interact with another (via procedure call) it must know the identity of that other object. • Further there can be side effect problems: if A uses object B and C also uses B, then C's effects on B look like unexpected side effects to A, and
  • 12. Event Based, Implicit invocation • Explicit invocation • Implicit invocation – Also called as: Reactive integration, Selective broadcast – Example: Editors and variable monitors register with debugger’s.
  • 13. Advantages and Disadvantages • Advantages – Strong support for reuse – Easy system evolution • Disadvantages – Relinquish control over the computation performed by the system • No idea what other components respond to the event • Cannot rely on the order in which they are invoked. • Don’t know when the invocation is completed. – Exchange of data
  • 14. Layered Systems • A layered system is organized hierarchically
  • 15. Advantages and Disadvantages • Advantages – First, they support design based on increasing levels of abstraction. – Second, they support enhancement. – Third, they support reuse. • Disadvantages – Not all systems are easily structured in a layered fashion – Difficult to define system-independent layers
  • 16. Repositories • Traditional database: Types of transactions in an input stream of transaction trigger selection of processes to execute. • Blackboard: Current state of the database is the main trigger of selecting the processes to execute – Knowledge sources, blackboard data structure, Control – Examples: Signal processing, such as speech and pattern recognition
  • 17. • The repository styles works by using a centralized database to contain all of • the shared data. • Advantages • • Efficient way to share large amounts of data; • • Sub-systems need not be concerned with how data is produced • • Centralized management e.g. backup, security, etc. • • Sharing model is published as the repository schema. • Disadvantages • • Sub-systems must agree on a repository data model. Inevitably a compromise; • • Data evolution is difficult and expensive; • • No scope for specific management policies; • Difficult to distribute efficiently.
  • 18. • Two kinds of components – Central data structure — blackboard – Components operating on the blackboard • System control is entirely driven by the blackboard state • Examples – Typically used for AI systems – Integrated software environments – Compiler architecture
  • 19. • The blackboard model is • usually presented with three major parts: • The knowledge sources: separate, independent parcels of application dependent • knowledge. Interaction among knowledge sources takes • place solely through the blackboard. • The blackboard data structure: problem-solving state data, organized into an • application-dependent hierarchy. Knowledge sources make changes to • the blackboard that lead incrementally to a solution to the problem. • Control: driven entirely by state of blackboard. Knowledge sources respond • opportunistically when changes in the blackboard make them applicable.
  • 20.
  • 21. Table Driven Interpreters • A virtual machine is produced in s/w • Interpreter includes – Psuedo-program being interpreted – Interpretation engine • Commonly used to build virtual machines.
  • 22. Other Architectures • Distributed processes – For Multi Process Systems • Examples: Ring or Star Topologies • Client Server • Main program/subroutine organizations – Mirrors programming language in which the system is written • Domain specific s/w architectures – Provide an organizational structure tailored to a family of applications • Examples: avionics, command and control, or vehicle management systems. • State Transition systems – Common organization for many reactive systems. • Process control systems – Systems intended to provide dynamic control of a physical environment
  • 23. Heterogeneous Architectures • Most systems typically involve a combinations of several styles • One way of combining architectural styles is Hierarchy – Example: Unix pipeline • A second way for styles to be combined is to permit a single component to use a mixture of architectural connectors. – Example: Accessing data • A third way for styles to be combined is to completely elaborate one level of architectural description in a completely different architectural style.
  • 24. Case Studies • Key word in context – Main program/subroutine with shared data – Abstract data types – Implicit Invocation – Pipes and filters • Instrumentation software – OO style – Layered style – Pipe and filter style – Modified pipe and filter style
  • 25. Case Studies • Compiler – Traditional compiler model – Traditional compiler model with shared data – Modern canonical compiler