Unformatted text preview:

Information Systems Analysis and Design csc340 Information Systems Analysis and Design Architectural Styles XVIII 1 Software Architectures Architectures Software Architectures Subsystems Modules and Connectors Pipes and Filters Object Oriented Layered Event Driven Repository Based Architectures Client Server Architectures Web Based Software Architectures Examples 2003 John Mylopoulos Architectural Styles 1 Information Systems Analysis and Design csc340 Architectural Styles 2 Information Systems Analysis and Design csc340 Pipes and Filters Strengths and Weaknesses Each component has inputs and outputs outputs A component reads streams of data on its inputs and produces data on its outputs continuously as data are coming in Components compute by performing local transformations on their inputs to produce their outputs and are termed filters filters The connectors of components transmit the outputs of one component to the inputs of another and are termed pipes pipes Unix supports a linear pipe and filter architecture called pipeline I O pipeline Strengths Makes it easy to understand overall function of the system as a composition of filter functions Encourages reuse of filters Facilitates maintenance Facilitates deadlock and throughput analysis Weaknesses Often leads to batch type processing Not good for interactive applications where you often want to do incremental computations e g incremental display updates Can t coordinate stream inputs Data transmission critical for system performance Architectural Styles 3 Information Systems Analysis and Design It is useful to classify software architectures into classes of architectural styles For example the client server architecture discussed earlier is an 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 2003 John Mylopoulos Pipes and Filters 2003 John Mylopoulos csc340 csc340 2003 John Mylopoulos Architectural Styles 4 Information Systems Analysis and Design csc340 Data Abstraction and Object Orientation Data Abstraction Strengths and Weaknesses Data structures and their associated operations are encapsulated in an abstract data type ADT or object object The components of a system are instances of an ADT and they interact through procedure or method method calls An object is responsible for preserving the integrity of its data structures and also these data structures are hidden from other objects Objects may operate concurrently or not Strengths Possible to change implementation of an object without affecting its clients Encourages decomposition of a problem into a number of interacting components agents Encourages software reuse Weaknesses For an object to interact with another it must know its identity not so for pipe filter architectures When the methods of an object change so must all other objects that use this object obj obj methods obj obj 2003 John Mylopoulos Client Server Architecture a special special case case of of the Data Abstraction Architecture method call Architectural Styles 5 2003 John Mylopoulos Page Architectural Styles 6 Information Systems Analysis and Design csc340 Information Systems Analysis and Design csc340 Event Based Architecture for Data Integration Event Based Architectures Instead of invoking a procedure directly a component can announce one or more events such as arrival of data or execution of an operation On event if condition then action On arrive D if D a or D b then print out of bounds Such procedures are also called triggers actors or eventcondition action ECA rules An advantage of event based invocation is that it encourages reuse a component can be introduced in a system simply by registering it for the events of that system A drawback is that sometimes event based systems become quite unpredictable and hard to control Information Information source source Interface library services events services events Information Information source source Interface library services events services events Rule Rule set set Interface Interface library services services events events Rule Rule engine engine Information Information source source Interface library services events services events KB KB schema 2003 John Mylopoulos Architectural Styles 7 Information Systems Analysis and Design csc340 Gal97 2003 John Mylopoulos Architectural Styles 8 Information Systems Analysis and Design Layered Systems csc340 Repository Based Architectures A layered system is organized hierarchically each layer serving the layer above In some systems inner layers are hidden in all but the adjacent outer layer Best examples of layered software systems are layered communication protocols Layered systems support design based on increasing levels of abstraction However not all systems can be structured in a layered fashion Produce Generate Analyze Design Build Test Basic Utilities Core Level Enterprise Modelling Software Repository Useful Systems 2003 John Mylopoulos Production Maintenance Architectural Styles 9 Information Systems Analysis and Design csc340 2003 John Mylopoulos Architectural Styles 10 Information Systems Analysis and Design csc340 Repository Based Architectures Other Architectural Styles A repository architecture consists of a central data structure often a database and a collection of independent components which operate on the central data structure Examples of repository architectures include blackboard architectures architectures where a blackboard serves as communication centre for a collection of knowledge sources and database systems serving several applications Repositories are very important for data integration are being introduced in a variety of applications including software development CAD etc Table Driven Interpreters each interpreter offers a virtual machine to high layers of interpreters special case of the layered architecture Distributed Processes program consists of distributed components organized into a static or dynamic configuration this is a special case of the object oriented architecture Main Program Subroutine FORTRAN style architecture State Transition Architecture system structured in terms of states state transitions useful architecture for real time systems 2003 John Mylopoulos Architectural Styles 11 2003 John Mylopoulos Page Architectural Styles 12 Information Systems Analysis and Design csc340 Additional Reading Architectures http www pithecanthropus com awg


View Full Document

Toronto CSC 340 - Software Architectures

Documents in this Course
Scoping

Scoping

10 pages

Load more
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 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?