DOC PREVIEW
Toronto CSC 340 - Software Architectures

This preview shows page 1 out of 3 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Page ‹#›Information Systems Analysis and Design csc3402003 John MylopoulosArchitectural Styles -- 1XVIII.1 Software ArchitecturesXVIII.1 Software ArchitecturesSoftware ArchitecturesSoftware ArchitecturesSubsystems, Modules and ConnectorsSubsystems, Modules and ConnectorsPipes and Filters, Object-Oriented, Layered,Pipes and Filters, Object-Oriented, Layered,Event-Driven, Repository-Based ArchitecturesEvent-Driven, Repository-Based ArchitecturesClient Server ArchitecturesClient Server ArchitecturesWeb-Based Software ArchitecturesWeb-Based Software ArchitecturesExamplesExamplesInformation Systems Analysis and Design csc3402003 John MylopoulosArchitectural Styles -- 2Architectural Styles It is useful to classify software architectures into classes ofarchitectural styles. For example, the client-server architecture discussed earlier isan architectural style. The styles we’ll discuss below are as follows: Pipes and filters; Object-Orientation; Event-Based Layered; Repository-Based; Client-Server; Three-Tier; …more...Information Systems Analysis and Design csc3402003 John MylopoulosArchitectural Styles -- 3Pipes and FiltersPipes and Filters Each component has inputsinputs and outputsoutputs. A componentreads streams of data on its inputs and produces data on itsoutputs, continuously as data are coming in. Components compute by performing local transformations ontheir inputs to produce their outputs and are termed filtersfilters.The connectors of components transmit the outputs of onecomponent to the inputs of another and are termed pipespipes. Unix supports a linear pipe and filter architecture calledpipelinepipeline.I/OInformation Systems Analysis and Design csc3402003 John MylopoulosArchitectural Styles -- 4Pipes and Filters: Strengths andPipes and Filters: Strengths andWeaknessesWeaknessesStrengthsStrengths•Makes it easy to understand overall function of the system as acomposition of filter functions•Encourages reuse of filters•Facilitates maintenance•Facilitates deadlock and throughput analysisWeaknessesWeaknesses•Often leads to batch-type processing• Not good for interactive applications where you often want to doincremental computations, e.g., incremental display updates• Can’t coordinate stream inputs•Data transmission critical for system performanceInformation Systems Analysis and Design csc3402003 John MylopoulosArchitectural Styles -- 5Data Abstraction andData Abstraction andObject-OrientationObject-Orientation Data structures and their associated operations areencapsulated encapsulated in an abstract data type abstract data type (ADT) or objectobject. Thecomponents of a system are instances of an ADT and theyinteract through procedure (or methodmethod) calls An object is responsible for preserving the integrity of its datastructures and also these data structures are hidden fromother objects. Objects may operate concurrently or notobjobjobjobjmethodsmethod callInformation Systems Analysis and Design csc3402003 John MylopoulosArchitectural Styles -- 6Data Abstraction: Strengths andData Abstraction: Strengths andWeaknessesWeaknessesStrengthsStrengths Possible to change implementation of an object without affecting itsclients Encourages decomposition of a problem into a number ofinteracting components/agents Encourages software reuseWeaknessesWeaknesses For an object to interact with another, it must know its identity (notso for pipe&filter architectures) When the methods of an object change, so must all other objectsthat use this objectClient-Server Architecture a special case ofClient-Server Architecture a special case ofthe Data Abstraction Architecturethe Data Abstraction ArchitecturePage ‹#›Information Systems Analysis and Design csc3402003 John MylopoulosArchitectural Styles -- 7Event-Based ArchitecturesEvent-Based Architectures Instead of invoking a procedure directly, a component canannounce announce one or more eventsevents (such as arrival of data orexecution of an operation) On <event> if <condition> then <action> On arrive(D) if D < a or D ≥ b then print(“out ofbounds”) Such procedures are also called triggers, actors or event-condition-action (ECA) rules An advantage of event-based invocation is that it encouragesreuse; a component can be introduced in a system simply byregistering it for the events of that system A drawback is that sometimes event-based systems becomequite unpredictable and hard to control.Information Systems Analysis and Design csc3402003 John MylopoulosArchitectural Styles -- 8InformationInformationsourcesourceInformationInformationsourcesourceInformationInformationsourcesourceInterface libraryInterface library(services,events)(services,events)Interface libraryInterface library(services,events)(services,events)Interface libraryInterface library(services,events)(services,events)InterfaceInterfacelibrarylibrary(services,(services,events)events)RuleRulesetsetRuleRuleengineengineKBKBschemaschema[Gal97][Gal97]Event-Based Architecturefor Data IntegrationInformation Systems Analysis and Design csc3402003 John MylopoulosArchitectural Styles -- 9Layered SystemsLayered Systems A layered system is organized hierarchically, each layerserving the layer above. In some systems, inner layers arehidden in all but the adjacent outer layer. Best examples of layered software systems are layeredcommunication protocols. Layered systems support design based on increasing levels ofabstraction. However, not all systems can be structured in alayered fashion.CoreLevelBasic UtilitiesUseful SystemsInformation Systems Analysis and Design


View Full Document

Toronto CSC 340 - Software Architectures

Documents in this Course
Scoping

Scoping

10 pages

Load more
Download Software Architectures
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Architectures and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Architectures 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?