DOC PREVIEW
USC CSCI 578 - 05_Architectural_Styles

This preview shows page 1-2-17-18-19-36-37 out of 37 pages.

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

Unformatted text preview:

Architectural StylesObject-Oriented StyleObject-Oriented LLOO/LL in UMLLayered StyleLayered Style (cont’d)Slide 7Layered Systems/Virtual MachinesLayered LLClient-Server StyleClient-Server LLData-Flow StylesBatch-Sequential: A Financial ApplicationBatch-Sequential LLPipe and Filter StylePipe and Filter (cont’d)Slide 17Pipe and Filter LLBlackboard StyleBlackboard LLRule-Based StyleRule-Based Style (cont’d)Rule Based LLInterpreter StyleInterpreter LLMobile-Code StyleMobile Code LLImplicit Invocation StyleImplicit Invocation (cont’d)Publish-SubscribePublish-Subscribe (cont’d)Pub-Sub LLEvent-Based StyleEvent-based LLPeer-to-Peer StylePeer-to-Peer Style (cont’d)Peer-to-Peer LLCopyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.Architectural StylesSoftware ArchitectureLecture 52Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureObject-Oriented StyleComponents are objectsData and associated operationsConnectors are messages and method invocationsStyle invariantsObjects are responsible for their internal representation integrityInternal representation is hidden from other objectsAdvantages“Infinite malleability” of object internalsSystem decomposition into sets of interacting agentsDisadvantagesObjects must know identities of serversSide effects in object method invocations3Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureObject-Oriented LLSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.4Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureOO/LL in UMLSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.5Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureLayered StyleHierarchical system organization“Multi-level client-server”Each layer exposes an interface (API) to be used by above layersEach layer acts as aServer: service provider to layers “above”Client: service consumer of layer(s) “below”Connectors are protocols of layer interactionExample: operating systemsVirtual machine style results from fully opaque layers6Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureLayered Style (cont’d)AdvantagesIncreasing abstraction levelsEvolvabilityChanges in a layer affect at most the adjacent two layersReuseDifferent implementations of layer are allowed as long as interface is preservedStandardized layer interfaces for libraries and frameworks7Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureLayered Style (cont’d)DisadvantagesNot universally applicablePerformanceLayers may have to be skippedDetermining the correct abstraction level8Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureLayered Systems/Virtual MachinesSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.9Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureLayered LLSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.10Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureClient-Server StyleComponents are clients and serversServers do not know number or identities of clientsClients know server’s identityConnectors are RPC-based network interaction protocols11Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureClient-Server LLSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.12Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureData-Flow StylesBatch SequentialSeparate programs are executed in order; data is passed as an aggregate from one program to the next.Connectors: “The human hand” carrying tapes between the programs, a.k.a. “sneaker-net ”Data Elements: Explicit, aggregate elements passed from one component to the next upon completion of the producing program’s execution.Typical uses: Transaction processing in financial systems. “The Granddaddy of Styles”13Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureBatch-Sequential: A Financial ApplicationSoftware Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.14Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureBatch-Sequential LLNot a recipe for a successful lunar mission!Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.15Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitecturePipe and Filter StyleComponents are filtersTransform input data streams into output data streamsPossibly incremental production of outputConnectors are pipesConduits for data streamsStyle invariantsFilters are independent (no shared state) Filter has no knowledge of up- or down-stream filtersExamplesUNIX shell signal processingDistributed systems parallel programmingExample: ls invoices | grep -e August | sort16Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitecturePipe and Filter (cont’d)VariationsPipelines — linear sequences of filtersBounded pipes — limited amount of data on a pipeTyped pipes — data strongly typedAdvantagesSystem behavior is a succession of component behaviorsFilter addition, replacement, and reusePossible to hook any two filters together Certain analysesThroughput, latency, deadlockConcurrent execution17Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitecturePipe and Filter (cont’d)DisadvantagesBatch organization of processingInteractive applicationsLowest common denominator on data


View Full Document

USC CSCI 578 - 05_Architectural_Styles

Download 05_Architectural_Styles
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 05_Architectural_Styles 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 05_Architectural_Styles 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?