Download presentation
Presentation is loading. Please wait.
1
1 Architectural Styles SAIP 5
2
2 Styles are Patterns Bigger than design patterns More abstract than reference models –domain independent –not a particular design –rules for design
3
3 Styles are Patterns Similar –need examples to understand –must use before you understand fully –advantages and disadvantages –every use is different –many variations
4
4 Styles are patterns Different –so big, and with so many variations, that it is better to think of them as a set of patterns Pattern Oriented Software Architecture –so big that you could write a book on each one –so big that people tend to know just a few
5
5 Three Styles in One System Layers Dataflow (Pipes and Filters) Object-Oriented
6
6 The System Framework for music improvisation –Bill Walker Two applications –Jazz piano duets –Extreme modern electronic improvisation http://datura.cerl.uiuc.edu/BillWalker/ dissertation/Dissertation.html
7
7 The Layers Hardware Control Music transformation Music Representation
8
8 Dataflow architectural style Components are filters Filters transform input to output Filters don’t –share state –know identity of input or output Example: Streams
9
9 Advantages of dataflow Easy to understand Easy to change Easty to maintain Components are reusable Handle parallelism well
10
10 Disadvantages of dataflow Not good for interactive processing Doesn’t handle separate but related streams very well. Doesn’t model state very well.
11
11 Music Improvisor Chord Builder Keyboard Chord Finder Sequence Finder Transformer MIDIchords sequences chords MIDI out
12
12 Dataflow Pull –getNext() –multiple inputs easy, multiple outputs hard Push –putNext(data) –multiple outputs easy, multiple inputs hard Pipes and filters –filter is a process –less efficient
13
13 Data Representation ChordSequenceNoteMidi Event *** MusicalObject
14
14 Dataflow Stream Chord Builder Keyboard Chord FinderSequence Finder Retrograde
15
15 Use of OO Techniques Polymorphism makes it easy to make new combination of components At runtime! Inheritance makes it easier to make new component
16
16 Summary: 3 styles Layers divides system into three parts Dataflow organizes one layer OOP is used to describe data (bottom layer), provide reusable components for dataflow system (middle layer) and to implement the control system (top layer).
17
17 Criticism SAIP claims that you decide the qualities that you want and then pick a style –but many styles for each quality –but many other considerations in picking style which ones you know compatibility with other architectural choices –styles are more complicated than they indicate
18
18 Summary Architectural styles are very important More complex than indicated by book It takes a long time to learn a new style, but it is worth it We need better descriptions of the styles!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.