SlideShare une entreprise Scribd logo
1  sur  13
Architectural Styles and Case Studies 1
Software Architecture Unit – II
Architectural Styles and Case Studies
Architectural styles; Pipes and filters; Data abstraction and object-oriented organization; Event-
based, implicit invocation; Layered systems; Repositories; Interpreters; Process control; Other
familiar architectures; Heterogeneous architectures. Case Studies: Mobile robotics; Cruise control;
three vignettes in mixed style.
Some Architectural Styles
Data flow systems
 Batch sequential
 Pipes and filters
Call-and-return systems
 Main program & subroutines
 Hierarchical layers
 OO systems
Virtual machines
 Interpreters
 Rule-based systems
Independent components communicating processes
 Event systems
Data-centered systems (repositories)
 Databases
 Blackboards
Architectural Styles and Case Studies 2
Pipe and Filter Architectural Style
• Suitable for applications that require a defined series of independent computations to be
performed on data.
• A component reads streams of data as input Software Design and produces streams of data as
output.
• Components: called filters, apply local transformations to their input streams and
often do their computing incrementally so that output begins before all input is consumed.
• Connectors: called pipes, serve as conduitsor the streams, transmitting outputs of one
filter to inputs of another filter.
Pipe and Filter Invariants
• Filters do not share state with other filters.
• Filters do not know the identity of their upstream or downstream filters.
Pipe and Filter Specializations
• Pipelines: Restricts topologies to linear sequences of filters
• Batch Sequential: A degenerate case of a pipeline architecture where each filter
processes all of its input data before producing any output.
PipeandFilterExamples
•UnixShellScripts:Provides anotationforconnectingUnix processesviapipes.
–catfile|grepErroll|wc-l
•TraditionalCompilers:Compilationphases arepipelined, thoughthephases arenotalwaysincremental.The
phasesinthepipelineinclude:
–lexicalanalysis+parsing+semanticanalysis+codegeneration
Pipesandfiltersadvantages:
 Easytounderstandtheoverallinput/output behaviorofasystemasasimplecompositionofthe
behaviorsoftheindividual filters.
 Theysupportreuse, sinceanytwofilterscanbehookedtogether,providedtheyagreeonthedata
thatisbeingtransmittedbetweenthem.
 Systemscanbeeasilymaintainedandenhanced, since newfilterscanbeaddedtoexistingsystems
andoldfilterscanbereplacedbyimprovedones.
 Theypermitcertainkinds ofspecializedanalysis,suchasthroughputanddeadlockanalysis.
 Thenaturallysupportconcurrentexecution.
Pipesandfiltersdisadvantages:
•Notgoodchoiceforinteractivesystems,becauseoftheirtransformationalcharacter.
•Excessiveparsingandunparsingleadstolossofperformanceandincreasedcomplexityinwritingthefilters
themselves
Architectural Styles and Case Studies 3
Object – Oriented and data abstraction
• Suitable for applications in which a central issue is identifying and protecting related bodies of
information (data).
• Data representations and their associated operations are encapsulated in an abstract data type.
• Components: are objects.
• Connectors: are function and procedure invocations (methods).
Object – Oriented Invariants
• Objects are responsible for preserving the integrity (e.g., some invariant) of the data
representation.
• The data representation is hidden from other objects.
Object-Oriented Specializations
• Distributed Objects
• Objects with Multiple Interfaces
Object-Oriented Advantages
•Becauseanobjecthidesits datarepresentationfromitsclients,itispossibletochangetheimplementation
withoutaffectingthoseclients.
•Candesignsystemsascollectionsofautonomousinteractingagents.
Object-OrientedDisadvantages
•Inorderforoneobjecttointeractwithanotherobject(via amethodinvocation)thefirst objectmustknow
theidentityofthesecondobject.
–ContrastwithPipeandFilter Style.
–Whentheidentityofanobjectchanges, itisnecessarytomodifyallobjectsthatinvokeit.
•Objectscausesideeffectproblems:
–E.g.,AandBbothuseobject C,thenB’seffectsonC looklikeunexpectedsideeffectstoA.
Architectural Styles and Case Studies 4
Event-Based, Implicit Invocation Style
•Suitableforapplicationsthat involveloosely-coupledcollectionofcomponents,eachofwhichcarriesout
someoperationandmayintheprocessenableotheroperations.
•Particularly usefulforapplicationsthatmustbereconfigured“onthefly”:
– Changing a service provider.
– Enabling or disabling capabilities.
•Insteadofinvokingaproceduredirectly...
–Acomponentcanannounce (orbroadcast)oneormoreevents.
–Othercomponentsinthesystemcanregisteran interestinaneventbyassociatinga procedurewiththe
event.
–Whenaneventisannounced,thebroadcastingsystem(connector)itselfinvokesalloftheproceduresthat
havebeenregisteredfortheevent.
•Aneventannouncement“implicitly”causestheinvocationofprocedures inothermodules.
ImplicitInvocationInvariants
•Announcersofeventsdonotknowwhichcomponentswillbeaffectedbythoseevents.
•Componentscannotmakeassumptionsabouttheorderofprocessing.
•Componentscannotmakeassumptionsaboutwhatprocessingwilloccuras aresultoftheirevents
ImplicitInvocationSpecializations
•Oftenconnectorsinanimplicitinvocationsystemincludethetraditionalprocedurecallinadditiontothe
bindingsbetweeneventannouncementsandprocedurecalls.
ImplicitInvocationExamples
•Usedinprogrammingenvironmentstointegratetools:
–Debuggerstopsata breakpointandmakesthatannouncement.
–Editorrespondstotheannouncementbyscrollingtotheappropriatesourcelineoftheprogramand
highlightingthat line.
•Usedtoenforceintegrityconstraintsin databasemanagementsystems(calledtriggers).
•Usedinuserinterfacestoseparatethepresentationofdatafromtheapplicationsthatmanagethatdata.
Advantages:
•Providesstrongsupportforreusesinceanycomponentcanbeintroducedintoasystem simplybyregistering
itfortheeventsofthatsystem.
•Easessystemevolutionsincecomponentsmaybereplacedbyothercomponentswithoutaffectingthe
interfacesofothercomponentsinthesystem.
Disadvantages:
•Whenacomponentannouncesanevent:
–ithasnoideawhatothercomponentswillrespondtoit
–itcannotrelyontheorderinwhichtheresponsesareinvoked
–itcannotknowwhenresponsesarefinished
Architectural Styles and Case Studies 5
Layered systems
• Suitable for applicationsthat involve distinct classes of servicesthat can be organized hierarchically.
• Each layer providesservice to the layerabove it and servesasa client to the layer belowit.
• Onlycarefullyselected proceduresfrom the inner layersare made available (exported) to their
adjacent outer layer.
• Components: are typicallycollectionsof procedures.
• Connectors: are typically procedure calls under restricted visibility
Layered StyleSpecializations
• Often exceptionsare made to permit non-adjacent layers to communicatedirectly.
– Thisisusuallydone for efficiencyreasons.
Layered StyleExamples
• Layered Communication Protocols:
– Each layer providesa substrate for communication at some levelof abstraction.
– Lower levelsdefine lower levelsof interaction, the lowest levelbeinghardware connections
(physicallayer).
• OperatingSystems
– Unix
Layered StyleAdvantages
• Design: based on increasinglevelsof abstraction.
• Enhancement: Changesto the function ofone layer affectsat most two other layers.
• Reuse: Different implementations(with identicalinterfaces)of the same layer can be used
interchangeably.
Layered StyleDisadvantages
• Not allsystemsare easily structured in an layered fashion.
• Performance requirementsmayforce the couplingof high-levelfunctionsto their lower-level
implementations.
Architectural Styles and Case Studies 6
Repository Style
• Suitable for applications in which the central issue is establishing, augmenting, and
maintaining a complex central body of information.
• Typically the information must be manipulated in a variety of ways. Often long-term
persistence is required.
• Components:
– A centraldata structure representingthe current state of the system.
– A collection of independent componentsthat operate on the centraldata structure.
• Connectors:
– Typicallyprocedure calls or direct memoryaccesses.
Repository StyleSpecializations
• Changesto the data structure trigger computations.
• Data structure in memory(persistent option).
• Data structure on disk.
• Concurrent computations and data accesses.
Repository StyleExamples
• Information Systems
• ProgrammingEnvironments
• GraphicalEditors
• AI(Artificial Intelligence)Knowledge Bases
• Reverse EngineeringSystems
Repository StyleAdvantages
• Efficient wayto store large amountsof data.
• Sharingmodelispublished asthe repositoryschema.
• Centralized management:
– backup
– security
– concurrencycontrol
Repository StyleDisadvantages
• Must agreeon adatamodel a priori(derived bylogic,without observed facts)
• Difficult to distributedata.
• Data evolution is expensive.
Architectural Styles and Case Studies 7
BlackboardStyle
 Characteristics: cooperating ‘partial solution solvers’ collaborating but not following a pre-
defined strategy.
 Current state of the solution stored in the blackboard.
 Processing triggered by the state of the blackboard.
Examples of Blackboard Architectures
Problems for which no deterministic solution strategy is known, but many different approaches
often alternative ones) exist and are used to build a partial or approximate solution.
AI: vision, speech and pattern recognition.
Heterogenous Architecture
It isa combination of different architecturesat different phases.
There are three kindsof heterogeneity,theyare asfollows.
 Locationallyheterogeneous meansthat a drawingof itsruntime structureswillreveal
patternsof different stylesin different areas.
For example,some branchesof a Main-Program-and-Subroutinessystem might have a shared data
repository(i.e.a database).
 HierarchicallyHeterogeneous meansthat a component of one style,when decomposed,is
structured accordingto the rulesof a different style
For example,an end-user interface sub-system might be built usingEvent System architecturalstyle,
while allother sub-systems − using Layered Architecture.
 SimultaneouslyHeterogeneous meansthat anyof severalstylesmay wellbe apt
descriptionsof the system.
Architectural Styles and Case Studies 8
Interpreter Style
• Suitable for applicationsin which the most appropriate language or machine for executingthe
solution isnot directlyavailable.
• Components: include one state machine for the execution engine and three memories:
– current state of the execution engine
– program beinginterpreted
– current state of the program beinginterpreted
• Connectors:
– procedure calls
– direct memoryaccesses.
Interpreter StyleExamples
• ProgrammingLanguage Compilers:
– Java
– Smalltalk
• Rule Based Systems:
– Prolog
– Coral
• ScriptingLanguages:
– Awk
– Perl
Interpreter StyleAdvantages
• Simulation of non-implemented hardware.
• Facilitatesportabilityof application or languagesacrossa varietyof platforms.
Interpreter StyleDisadvantages
• Extra levelof indirection slowsdown execution.
• Java hasan option to compile code.
– JIT (Just In Time)compiler.
Architectural Styles and Case Studies 9
Process-Control Style
• Suitable for applications whose purpose is to maintain specified properties of the outputs of the
process at (sufficiently near) given reference values.
• Components:
– Process Definition includes mechanisms for manipulating some process variables.
– Control Algorithm for deciding how to manipulate process variables.
• Connectors: are the data flow relations for:
– Process Variables:
• Controlled variable whose value the system is intended to control.
• Input variable that measures an input to the process.
• Manipulated variable whose value can be changed by the controller.
– Set Point is the desired value for a controlled variable.
– Sensors to obtain values of process variables pertinent to control.
Feed-Back Control System
 The controlled variable is measured and the result is used to manipulate one or more of the
process variables.
Open-LoopControlSystem
 Informationabout processvariablesis notusedtoadjustthe system
ProcessControlExamples
•Real-TimeSystemSoftwaretoControl:
–AutomobileAnti-LockBrakes
–NuclearPowerPlants
–AutomobileCruise-Control
Architectural Styles and Case Studies 10
Case Study
MobileRobots: A casestudyon architectural styles
Typical software functions.
 Acquiringand interpretinginput provided bysensors.
 Controllingthe motion of wheelsand other movable parts.
 Planningfuture paths.
Examplesof complications.
 Obstaclesmayblockpath.
 Sensor input maybe imperfect.
 Robot mayrun out of power.
 Mechanicallimitationsmay restrict accuracyof movement.
 Robot maymanipulate hazardousmaterials.
 Unpredictable eventsmay demand a rapid (autonomous)response.
Evaluation criteriafor agiven architecture
Req 1.Accommodation of deliberateand reactivebehavior. Robot must coordinate actionsto
achieve assigned objectives with the reactions imposed bythe environment.
Req 2.Allowancefor uncertainty. Robot must function in the context of incomplete,unreliable and
contradictoryinformation.
Req 3.Accountingof dangers in therobot’s operations and its environment. Relatingto fault
tolerance,safetyand performance, problemslike reduced power supply,unexpectedlyopen doors,
etc.,
should not lead to disaster.
Req 4.Flexibility. Support for experimentation and reconfiguration.
Solution 1: Control Loop
Therequirements areas follows:
Req 1: An advantage of the closed loop paradigm isits simplicity,it capturesthe basicinteraction
between the robot andtheoutside.
Req 2: Uncertaintyisresolved byreducingunknownsthrough iteration: a problem if more
subtle(clever)stepsare needed.
Req 3: Fault tolerance and safetyare enhanced bythe simplicityof the architecture.
Req 4: Major components(supervisor, sensors,motors)can be easilyreplaced
Architectural Styles and Case Studies 11
Solution 4: Blackboard architecture
Componentsare the following:
 Captain: Overallsupervisor
 Map navigator: High-level path planner
 Lookout: Monitorsenvironment for landmarks.
 Pilot: Low-levelpath planner and motor controller
 Perception subsystems: Accept sensor input &integrate it into a coherent situation
interpretation.
Therequirements areas follows:
Req 1: The componentscommunicate via shared repositoryof the blackboard system.
Req 2: The blackboard isalso the meansfor resolvingconflictsor unvertaintiesin the robot’sworld
view.
Req 3: Speed,safety,and realiablityisguaranteed.
Req 4: Supportsconcurrencyand decouplessendersfrom receivers,thisfacilitatingmaintenance.
Architectural Styles and Case Studies 12
Cruise Control
A cruise control (CC) system that exists to maintain the constant vehicle speed even over varying
terrain.
Inputs: System On/Off: If on, maintain speed
Engine On/Off: If on, engine is on. CC is active only in this state
Wheel Pulses: One pulse from every wheel revolution
Accelerator: Indication of how far accelerator is de-pressed
Brake: If on, temp revert cruise control to manual mode
Inc/Dec Speed: If on, increase/decrease maintained speed
Resume Speed: If on, resume last maintained speed
Clock: Timing pulses every millisecond
Outputs: Throttle: Digital value for engine throttle setting
Restatement of Cruise-Control Problem
Whenever the system isactive,determine the desired speed,and controlthe engine throttle setting
to maintain that speed.
PROCESS CONTROL VIEW OF CRUISE CONTROL
Computational Elements
Process definition - take throttle setting as I/P & control vehicle speed
Control algorithm - current speed (wheel pulses) compared to desired speed
o Change throttle setting accordingly presents the issue:
o decide how much to change setting for a given discrepancy
Data Elements
Controlled variable: current speed of vehicle
Manipulated variable: throttle setting
Set point: set by accelerator and increase/decrease speed inputs
system on/off, engine on/off, brake and resume inputs also have a bearing
Controlled variable sensor: modelled on data from wheel pulses and clock
Architectural Styles and Case Studies 13
Completecruisecontrol system
Three Vignettes in mixed style
In general,it isa commercialsoftware content management system,recordsand documents
management system,portal,and collaboration tools company.Vignette'sPlatform consistsof several
suitesof productsallowing non-technicalbusinessusersto create,edit and track content through
workflowsand publish thiscontent through Web or portalsites.
Each level corresponds to a different process management function with its own decision-support
requirements.
Level 1: Process measurement and control: direct adjustment of final control elements.
Level 2: Process supervision: operations console for monitoring and controlling Level 1.
Level 3: Process management: computer-based plant automation, including management reports,
optimization strategies, and guidance to operations console.
Levels 4 and 5: Plant and corporate management: higher-levelfunctionssuch as cost accounting,
inventorycontrol,and order processing/scheduling.

Contenu connexe

Tendances

Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleDhivyaa C.R
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software designMr. Swapnil G. Thaware
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modelingSyed Zaid Irshad
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
Architecture Design in Software Engineering
Architecture Design in Software EngineeringArchitecture Design in Software Engineering
Architecture Design in Software Engineeringcricket2ime
 
Elaboration and domain model
Elaboration and domain modelElaboration and domain model
Elaboration and domain modelVignesh Saravanan
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSMikel Raj
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycleHimanshu
 

Tendances (20)

Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software design
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 
Class notes
Class notesClass notes
Class notes
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Architecture Design in Software Engineering
Architecture Design in Software EngineeringArchitecture Design in Software Engineering
Architecture Design in Software Engineering
 
Elaboration and domain model
Elaboration and domain modelElaboration and domain model
Elaboration and domain model
 
5 architecture
5 architecture5 architecture
5 architecture
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Software design
Software designSoftware design
Software design
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 

Similaire à Architectural Styles and Case Studies, Software architecture ,unit–2

architectural design
 architectural design architectural design
architectural designPreeti Mishra
 
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxWINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxVivekananda Gn
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-designAhmad sohail Kakar
 
10 architectural design
10 architectural design10 architectural design
10 architectural designAyesha Bhatti
 
10 architectural design (1)
10 architectural design (1)10 architectural design (1)
10 architectural design (1)Ayesha Bhatti
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentationdikshagupta111
 
Architectural design1
Architectural design1Architectural design1
Architectural design1Zahid Hussain
 
Architectural design1
Architectural design1Architectural design1
Architectural design1Zahid Hussain
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural designdevika g
 
Ch 2-introduction to dbms
Ch 2-introduction to dbmsCh 2-introduction to dbms
Ch 2-introduction to dbmsRupali Rana
 
Lecture 2 Data Structure Introduction
Lecture 2 Data Structure IntroductionLecture 2 Data Structure Introduction
Lecture 2 Data Structure IntroductionAbirami A
 
10-System-ModelingFL22-sketch-19122022-091234am.pptx
10-System-ModelingFL22-sketch-19122022-091234am.pptx10-System-ModelingFL22-sketch-19122022-091234am.pptx
10-System-ModelingFL22-sketch-19122022-091234am.pptxhuzaifaahmed79
 

Similaire à Architectural Styles and Case Studies, Software architecture ,unit–2 (20)

Database management system
Database management systemDatabase management system
Database management system
 
architectural design
 architectural design architectural design
architectural design
 
(Dbms) class 1 & 2 (Presentation)
(Dbms) class 1 & 2 (Presentation)(Dbms) class 1 & 2 (Presentation)
(Dbms) class 1 & 2 (Presentation)
 
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxWINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
 
Se ii unit3-architectural-design
Se ii unit3-architectural-designSe ii unit3-architectural-design
Se ii unit3-architectural-design
 
10 architectural design
10 architectural design10 architectural design
10 architectural design
 
10 architectural design (1)
10 architectural design (1)10 architectural design (1)
10 architectural design (1)
 
Unit 3 part i Data mining
Unit 3 part i Data miningUnit 3 part i Data mining
Unit 3 part i Data mining
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 
Dbms unit 1
Dbms unit 1Dbms unit 1
Dbms unit 1
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
Architectural design1
Architectural design1Architectural design1
Architectural design1
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
Ch 2-introduction to dbms
Ch 2-introduction to dbmsCh 2-introduction to dbms
Ch 2-introduction to dbms
 
Lecture 2 Data Structure Introduction
Lecture 2 Data Structure IntroductionLecture 2 Data Structure Introduction
Lecture 2 Data Structure Introduction
 
10-System-ModelingFL22-sketch-19122022-091234am.pptx
10-System-ModelingFL22-sketch-19122022-091234am.pptx10-System-ModelingFL22-sketch-19122022-091234am.pptx
10-System-ModelingFL22-sketch-19122022-091234am.pptx
 
data warehousing
data warehousingdata warehousing
data warehousing
 
IM.pptx
IM.pptxIM.pptx
IM.pptx
 
The Genopolis Microarray database
The Genopolis Microarray databaseThe Genopolis Microarray database
The Genopolis Microarray database
 
architeral design.pptx
architeral design.pptxarchiteral design.pptx
architeral design.pptx
 

Plus de Sudarshan Dhondaley

Plus de Sudarshan Dhondaley (8)

Storage Area Networks Unit 1 Notes
Storage Area Networks Unit 1 NotesStorage Area Networks Unit 1 Notes
Storage Area Networks Unit 1 Notes
 
Storage Area Networks Unit 4 Notes
Storage Area Networks Unit 4 NotesStorage Area Networks Unit 4 Notes
Storage Area Networks Unit 4 Notes
 
Storage Area Networks Unit 3 Notes
Storage Area Networks Unit 3 NotesStorage Area Networks Unit 3 Notes
Storage Area Networks Unit 3 Notes
 
Storage Area Networks Unit 2 Notes
Storage Area Networks Unit 2 NotesStorage Area Networks Unit 2 Notes
Storage Area Networks Unit 2 Notes
 
C# Unit5 Notes
C# Unit5 NotesC# Unit5 Notes
C# Unit5 Notes
 
C# Unit 2 notes
C# Unit 2 notesC# Unit 2 notes
C# Unit 2 notes
 
C# Unit 1 notes
C# Unit 1 notesC# Unit 1 notes
C# Unit 1 notes
 
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
 

Dernier

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxannathomasp01
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...Amil baba
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...Nguyen Thanh Tu Collection
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17Celine George
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxUmeshTimilsina1
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 

Dernier (20)

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 

Architectural Styles and Case Studies, Software architecture ,unit–2

  • 1. Architectural Styles and Case Studies 1 Software Architecture Unit – II Architectural Styles and Case Studies Architectural styles; Pipes and filters; Data abstraction and object-oriented organization; Event- based, implicit invocation; Layered systems; Repositories; Interpreters; Process control; Other familiar architectures; Heterogeneous architectures. Case Studies: Mobile robotics; Cruise control; three vignettes in mixed style. Some Architectural Styles Data flow systems  Batch sequential  Pipes and filters Call-and-return systems  Main program & subroutines  Hierarchical layers  OO systems Virtual machines  Interpreters  Rule-based systems Independent components communicating processes  Event systems Data-centered systems (repositories)  Databases  Blackboards
  • 2. Architectural Styles and Case Studies 2 Pipe and Filter Architectural Style • Suitable for applications that require a defined series of independent computations to be performed on data. • A component reads streams of data as input Software Design and produces streams of data as output. • Components: called filters, apply local transformations to their input streams and often do their computing incrementally so that output begins before all input is consumed. • Connectors: called pipes, serve as conduitsor the streams, transmitting outputs of one filter to inputs of another filter. Pipe and Filter Invariants • Filters do not share state with other filters. • Filters do not know the identity of their upstream or downstream filters. Pipe and Filter Specializations • Pipelines: Restricts topologies to linear sequences of filters • Batch Sequential: A degenerate case of a pipeline architecture where each filter processes all of its input data before producing any output. PipeandFilterExamples •UnixShellScripts:Provides anotationforconnectingUnix processesviapipes. –catfile|grepErroll|wc-l •TraditionalCompilers:Compilationphases arepipelined, thoughthephases arenotalwaysincremental.The phasesinthepipelineinclude: –lexicalanalysis+parsing+semanticanalysis+codegeneration Pipesandfiltersadvantages:  Easytounderstandtheoverallinput/output behaviorofasystemasasimplecompositionofthe behaviorsoftheindividual filters.  Theysupportreuse, sinceanytwofilterscanbehookedtogether,providedtheyagreeonthedata thatisbeingtransmittedbetweenthem.  Systemscanbeeasilymaintainedandenhanced, since newfilterscanbeaddedtoexistingsystems andoldfilterscanbereplacedbyimprovedones.  Theypermitcertainkinds ofspecializedanalysis,suchasthroughputanddeadlockanalysis.  Thenaturallysupportconcurrentexecution. Pipesandfiltersdisadvantages: •Notgoodchoiceforinteractivesystems,becauseoftheirtransformationalcharacter. •Excessiveparsingandunparsingleadstolossofperformanceandincreasedcomplexityinwritingthefilters themselves
  • 3. Architectural Styles and Case Studies 3 Object – Oriented and data abstraction • Suitable for applications in which a central issue is identifying and protecting related bodies of information (data). • Data representations and their associated operations are encapsulated in an abstract data type. • Components: are objects. • Connectors: are function and procedure invocations (methods). Object – Oriented Invariants • Objects are responsible for preserving the integrity (e.g., some invariant) of the data representation. • The data representation is hidden from other objects. Object-Oriented Specializations • Distributed Objects • Objects with Multiple Interfaces Object-Oriented Advantages •Becauseanobjecthidesits datarepresentationfromitsclients,itispossibletochangetheimplementation withoutaffectingthoseclients. •Candesignsystemsascollectionsofautonomousinteractingagents. Object-OrientedDisadvantages •Inorderforoneobjecttointeractwithanotherobject(via amethodinvocation)thefirst objectmustknow theidentityofthesecondobject. –ContrastwithPipeandFilter Style. –Whentheidentityofanobjectchanges, itisnecessarytomodifyallobjectsthatinvokeit. •Objectscausesideeffectproblems: –E.g.,AandBbothuseobject C,thenB’seffectsonC looklikeunexpectedsideeffectstoA.
  • 4. Architectural Styles and Case Studies 4 Event-Based, Implicit Invocation Style •Suitableforapplicationsthat involveloosely-coupledcollectionofcomponents,eachofwhichcarriesout someoperationandmayintheprocessenableotheroperations. •Particularly usefulforapplicationsthatmustbereconfigured“onthefly”: – Changing a service provider. – Enabling or disabling capabilities. •Insteadofinvokingaproceduredirectly... –Acomponentcanannounce (orbroadcast)oneormoreevents. –Othercomponentsinthesystemcanregisteran interestinaneventbyassociatinga procedurewiththe event. –Whenaneventisannounced,thebroadcastingsystem(connector)itselfinvokesalloftheproceduresthat havebeenregisteredfortheevent. •Aneventannouncement“implicitly”causestheinvocationofprocedures inothermodules. ImplicitInvocationInvariants •Announcersofeventsdonotknowwhichcomponentswillbeaffectedbythoseevents. •Componentscannotmakeassumptionsabouttheorderofprocessing. •Componentscannotmakeassumptionsaboutwhatprocessingwilloccuras aresultoftheirevents ImplicitInvocationSpecializations •Oftenconnectorsinanimplicitinvocationsystemincludethetraditionalprocedurecallinadditiontothe bindingsbetweeneventannouncementsandprocedurecalls. ImplicitInvocationExamples •Usedinprogrammingenvironmentstointegratetools: –Debuggerstopsata breakpointandmakesthatannouncement. –Editorrespondstotheannouncementbyscrollingtotheappropriatesourcelineoftheprogramand highlightingthat line. •Usedtoenforceintegrityconstraintsin databasemanagementsystems(calledtriggers). •Usedinuserinterfacestoseparatethepresentationofdatafromtheapplicationsthatmanagethatdata. Advantages: •Providesstrongsupportforreusesinceanycomponentcanbeintroducedintoasystem simplybyregistering itfortheeventsofthatsystem. •Easessystemevolutionsincecomponentsmaybereplacedbyothercomponentswithoutaffectingthe interfacesofothercomponentsinthesystem. Disadvantages: •Whenacomponentannouncesanevent: –ithasnoideawhatothercomponentswillrespondtoit –itcannotrelyontheorderinwhichtheresponsesareinvoked –itcannotknowwhenresponsesarefinished
  • 5. Architectural Styles and Case Studies 5 Layered systems • Suitable for applicationsthat involve distinct classes of servicesthat can be organized hierarchically. • Each layer providesservice to the layerabove it and servesasa client to the layer belowit. • Onlycarefullyselected proceduresfrom the inner layersare made available (exported) to their adjacent outer layer. • Components: are typicallycollectionsof procedures. • Connectors: are typically procedure calls under restricted visibility Layered StyleSpecializations • Often exceptionsare made to permit non-adjacent layers to communicatedirectly. – Thisisusuallydone for efficiencyreasons. Layered StyleExamples • Layered Communication Protocols: – Each layer providesa substrate for communication at some levelof abstraction. – Lower levelsdefine lower levelsof interaction, the lowest levelbeinghardware connections (physicallayer). • OperatingSystems – Unix Layered StyleAdvantages • Design: based on increasinglevelsof abstraction. • Enhancement: Changesto the function ofone layer affectsat most two other layers. • Reuse: Different implementations(with identicalinterfaces)of the same layer can be used interchangeably. Layered StyleDisadvantages • Not allsystemsare easily structured in an layered fashion. • Performance requirementsmayforce the couplingof high-levelfunctionsto their lower-level implementations.
  • 6. Architectural Styles and Case Studies 6 Repository Style • Suitable for applications in which the central issue is establishing, augmenting, and maintaining a complex central body of information. • Typically the information must be manipulated in a variety of ways. Often long-term persistence is required. • Components: – A centraldata structure representingthe current state of the system. – A collection of independent componentsthat operate on the centraldata structure. • Connectors: – Typicallyprocedure calls or direct memoryaccesses. Repository StyleSpecializations • Changesto the data structure trigger computations. • Data structure in memory(persistent option). • Data structure on disk. • Concurrent computations and data accesses. Repository StyleExamples • Information Systems • ProgrammingEnvironments • GraphicalEditors • AI(Artificial Intelligence)Knowledge Bases • Reverse EngineeringSystems Repository StyleAdvantages • Efficient wayto store large amountsof data. • Sharingmodelispublished asthe repositoryschema. • Centralized management: – backup – security – concurrencycontrol Repository StyleDisadvantages • Must agreeon adatamodel a priori(derived bylogic,without observed facts) • Difficult to distributedata. • Data evolution is expensive.
  • 7. Architectural Styles and Case Studies 7 BlackboardStyle  Characteristics: cooperating ‘partial solution solvers’ collaborating but not following a pre- defined strategy.  Current state of the solution stored in the blackboard.  Processing triggered by the state of the blackboard. Examples of Blackboard Architectures Problems for which no deterministic solution strategy is known, but many different approaches often alternative ones) exist and are used to build a partial or approximate solution. AI: vision, speech and pattern recognition. Heterogenous Architecture It isa combination of different architecturesat different phases. There are three kindsof heterogeneity,theyare asfollows.  Locationallyheterogeneous meansthat a drawingof itsruntime structureswillreveal patternsof different stylesin different areas. For example,some branchesof a Main-Program-and-Subroutinessystem might have a shared data repository(i.e.a database).  HierarchicallyHeterogeneous meansthat a component of one style,when decomposed,is structured accordingto the rulesof a different style For example,an end-user interface sub-system might be built usingEvent System architecturalstyle, while allother sub-systems − using Layered Architecture.  SimultaneouslyHeterogeneous meansthat anyof severalstylesmay wellbe apt descriptionsof the system.
  • 8. Architectural Styles and Case Studies 8 Interpreter Style • Suitable for applicationsin which the most appropriate language or machine for executingthe solution isnot directlyavailable. • Components: include one state machine for the execution engine and three memories: – current state of the execution engine – program beinginterpreted – current state of the program beinginterpreted • Connectors: – procedure calls – direct memoryaccesses. Interpreter StyleExamples • ProgrammingLanguage Compilers: – Java – Smalltalk • Rule Based Systems: – Prolog – Coral • ScriptingLanguages: – Awk – Perl Interpreter StyleAdvantages • Simulation of non-implemented hardware. • Facilitatesportabilityof application or languagesacrossa varietyof platforms. Interpreter StyleDisadvantages • Extra levelof indirection slowsdown execution. • Java hasan option to compile code. – JIT (Just In Time)compiler.
  • 9. Architectural Styles and Case Studies 9 Process-Control Style • Suitable for applications whose purpose is to maintain specified properties of the outputs of the process at (sufficiently near) given reference values. • Components: – Process Definition includes mechanisms for manipulating some process variables. – Control Algorithm for deciding how to manipulate process variables. • Connectors: are the data flow relations for: – Process Variables: • Controlled variable whose value the system is intended to control. • Input variable that measures an input to the process. • Manipulated variable whose value can be changed by the controller. – Set Point is the desired value for a controlled variable. – Sensors to obtain values of process variables pertinent to control. Feed-Back Control System  The controlled variable is measured and the result is used to manipulate one or more of the process variables. Open-LoopControlSystem  Informationabout processvariablesis notusedtoadjustthe system ProcessControlExamples •Real-TimeSystemSoftwaretoControl: –AutomobileAnti-LockBrakes –NuclearPowerPlants –AutomobileCruise-Control
  • 10. Architectural Styles and Case Studies 10 Case Study MobileRobots: A casestudyon architectural styles Typical software functions.  Acquiringand interpretinginput provided bysensors.  Controllingthe motion of wheelsand other movable parts.  Planningfuture paths. Examplesof complications.  Obstaclesmayblockpath.  Sensor input maybe imperfect.  Robot mayrun out of power.  Mechanicallimitationsmay restrict accuracyof movement.  Robot maymanipulate hazardousmaterials.  Unpredictable eventsmay demand a rapid (autonomous)response. Evaluation criteriafor agiven architecture Req 1.Accommodation of deliberateand reactivebehavior. Robot must coordinate actionsto achieve assigned objectives with the reactions imposed bythe environment. Req 2.Allowancefor uncertainty. Robot must function in the context of incomplete,unreliable and contradictoryinformation. Req 3.Accountingof dangers in therobot’s operations and its environment. Relatingto fault tolerance,safetyand performance, problemslike reduced power supply,unexpectedlyopen doors, etc., should not lead to disaster. Req 4.Flexibility. Support for experimentation and reconfiguration. Solution 1: Control Loop Therequirements areas follows: Req 1: An advantage of the closed loop paradigm isits simplicity,it capturesthe basicinteraction between the robot andtheoutside. Req 2: Uncertaintyisresolved byreducingunknownsthrough iteration: a problem if more subtle(clever)stepsare needed. Req 3: Fault tolerance and safetyare enhanced bythe simplicityof the architecture. Req 4: Major components(supervisor, sensors,motors)can be easilyreplaced
  • 11. Architectural Styles and Case Studies 11 Solution 4: Blackboard architecture Componentsare the following:  Captain: Overallsupervisor  Map navigator: High-level path planner  Lookout: Monitorsenvironment for landmarks.  Pilot: Low-levelpath planner and motor controller  Perception subsystems: Accept sensor input &integrate it into a coherent situation interpretation. Therequirements areas follows: Req 1: The componentscommunicate via shared repositoryof the blackboard system. Req 2: The blackboard isalso the meansfor resolvingconflictsor unvertaintiesin the robot’sworld view. Req 3: Speed,safety,and realiablityisguaranteed. Req 4: Supportsconcurrencyand decouplessendersfrom receivers,thisfacilitatingmaintenance.
  • 12. Architectural Styles and Case Studies 12 Cruise Control A cruise control (CC) system that exists to maintain the constant vehicle speed even over varying terrain. Inputs: System On/Off: If on, maintain speed Engine On/Off: If on, engine is on. CC is active only in this state Wheel Pulses: One pulse from every wheel revolution Accelerator: Indication of how far accelerator is de-pressed Brake: If on, temp revert cruise control to manual mode Inc/Dec Speed: If on, increase/decrease maintained speed Resume Speed: If on, resume last maintained speed Clock: Timing pulses every millisecond Outputs: Throttle: Digital value for engine throttle setting Restatement of Cruise-Control Problem Whenever the system isactive,determine the desired speed,and controlthe engine throttle setting to maintain that speed. PROCESS CONTROL VIEW OF CRUISE CONTROL Computational Elements Process definition - take throttle setting as I/P & control vehicle speed Control algorithm - current speed (wheel pulses) compared to desired speed o Change throttle setting accordingly presents the issue: o decide how much to change setting for a given discrepancy Data Elements Controlled variable: current speed of vehicle Manipulated variable: throttle setting Set point: set by accelerator and increase/decrease speed inputs system on/off, engine on/off, brake and resume inputs also have a bearing Controlled variable sensor: modelled on data from wheel pulses and clock
  • 13. Architectural Styles and Case Studies 13 Completecruisecontrol system Three Vignettes in mixed style In general,it isa commercialsoftware content management system,recordsand documents management system,portal,and collaboration tools company.Vignette'sPlatform consistsof several suitesof productsallowing non-technicalbusinessusersto create,edit and track content through workflowsand publish thiscontent through Web or portalsites. Each level corresponds to a different process management function with its own decision-support requirements. Level 1: Process measurement and control: direct adjustment of final control elements. Level 2: Process supervision: operations console for monitoring and controlling Level 1. Level 3: Process management: computer-based plant automation, including management reports, optimization strategies, and guidance to operations console. Levels 4 and 5: Plant and corporate management: higher-levelfunctionssuch as cost accounting, inventorycontrol,and order processing/scheduling.