4 1 views - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

4 1 views

Description:

Organize description of software architecture using several concurrent views, ... Jazz piano duets. Extreme modern electronic improvisation ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 20
Provided by: Ral69
Category:
Tags: jazz | modern | views

less

Transcript and Presenter's Notes

Title: 4 1 views


1
41 views
  • Architectural Blueprints The 41 View Model of
    Software Architecture
  • Philippe Kruchten
  • Software Architecture Elements Forms
    Rationales/Constraints
  • Organize description of software architecture
    using several concurrent views, each describing a
    different perspective

2
41 views
  • 4 views
  • Logical
  • Process concurrency and synchronization
  • Physical map to hardware
  • Development organization in development
    environment
  • And use cases

3
Mail Transport Agent
4
The Mail Queue
5
qmail
qmail- lspawn
qmail- local
qmail- inject
qmail- send
qmail- queue
mail queue
qmail- smptd
qmail- rspawn
qmail- remote
6
Architecture, Design, Implementation
  • Amnon Eden, Rick Kazman
  • Architecture and Design are both things that can
    have an infinite number of implementations
  • If a system has a particular design (pattern?),
    adding stuff wont change that fact.
  • If a system has a particular architecture, adding
    stuff might change that fact.

7
Three Styles in One System
  • Layers
  • Dataflow (Pipes and Filters)
  • Object-Oriented

8
The System
  • Framework for music improvisation
  • Bill Walker
  • Two applications
  • Jazz piano duets
  • Extreme modern electronic improvisation
  • http//www.shout.net/walker/papers.html

9
The Layers
Control
Music transformation
Hardware
Music Representation
10
Pipes and Filters
  • Components are filters
  • Filters transform input to output
  • Filters dont
  • share state
  • know identity of input or output
  • Example Streams

11
Advantages
  • Easy to understand
  • Easy to change
  • Easty to maintain
  • Components are reusable
  • Handle parallelism well

12
Disadvantages
  • Not good for interactive processing
  • Doesnt handle separate but related streams very
    well.
  • Doesnt model state very well.

13
Music Improvisor
Chord Finder
Sequence Finder
MIDI
chords
Keyboard
sequences
Transformer
chords
Chord Builder
MIDI out
sequences
14
Data Representation
MusicalObject



Chord
Sequence
Note
Midi Event
15
Dataflow
Stream
Chord Builder
Retrograde
Keyboard
Chord Finder
Sequence Finder
16
The Layers
Control
Music transformation
Hardware
Music Representation
17
Use of OO Techniques
  • Polymorphism makes it easy to make new
    combination of components
  • At runtime!
  • Inheritance makes it easier to make new component

18
Summary 3 styles
  • Layers divides system into three parts
  • Pipes and Filters organizes one layer
  • OOP is used to describe data (bottom layer),
    provide reusable components for pipes and filters
    system (middle layer) and to implement the
    control system (top layer).

19
Conclusion
  • Is it really true that architectural styles must
    hold for entire system?
  • Theory must be based on facts.
  • Facts come from experience.
  • We need to document more architectures and to
    study them.
Write a Comment
User Comments (0)
About PowerShow.com