120 likes | 142 Views
Tektronix Oscilloscope Case Study. Garlan & Shaw 1994. Challenge: Product Family. Little reuse of sw between oscilliscopes Each product division did their own thing: programming language, tools, conventions, etc.
E N D
Tektronix Oscilloscope Case Study Garlan & Shaw 1994
Challenge: Product Family • Little reuse of sw between oscilliscopes • Each product division did their own thing: programming language, tools, conventions, etc. • SW couldn't even be reused between two oscilliscopes from the same product division: rewrite for new HW • Lack of reuse was slowing down the business process • too long to release new oscilliscopes • too hard to adapt to specialized markets • Performance problems: • switching modes on the scope require loading all new sw • because of limited reuse, loading the sw took too long Can CMU save the day?
Pros: greater clarity about the domain / data types Unresolved: how do the types fit together? how should functionality be partitioned? with type of data being measured? externally? which objects should the UI interact with? Design 1: OO
Pros: intuitively appealing Unresolved: strict layer model not appropriate for domain: users need to interact with functions at all levels Design 2: Layers
Pros: easy to compose functions in different ways similar to EE view of signal processing as a dataflow problem Unresolved: how do users interact with the system? unclear. Design 3: Pipe & Filter
Pros: benefits of Design 3 clear interface between UI and signal processing can think of filters as higher-order functions parameters determine which transformation is performed Unresolved: poor performance waveforms are large copying between filters is expensive filters run at different speeds Design 4: Modified Pipe & Filter
"Coloured Pipes": may allow data to be processed without copying may allow data to be ignored by slow filters All issues resolved. Design 5: Coloured, Modified P&F
A Fresh View of Compilers your independent reading