Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Architectural Styles SAIP 5. 2 Styles are Patterns Bigger than design patterns More abstract than reference models –domain independent –not a particular.

Similar presentations


Presentation on theme: "1 Architectural Styles SAIP 5. 2 Styles are Patterns Bigger than design patterns More abstract than reference models –domain independent –not a particular."— Presentation transcript:

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!


Download ppt "1 Architectural Styles SAIP 5. 2 Styles are Patterns Bigger than design patterns More abstract than reference models –domain independent –not a particular."

Similar presentations


Ads by Google