Download Understanding Networked Applications: A First Course - Interfaces and Data Types - Prof. J and more Papers Accounting in PDF only on Docsity!
ISM 50 Lecture 9April 25, 2005Instructor: John Musacchio
Class Announcements^2 A First Course
• Business Paper Proposals Due Today!• Midterm Wednesday– Study Guide available on web• Office Hours Changed this week only– Tu 11-12, 1:15-2– Th 11-12, 1:15-
Chapter 6by David G. Messerschmitt
Goal^5 A First Course
• Appreciate the importance of complexitymanagement in networked computing• Understand better the role of architecture incomplexity management• Examine infrastructure layering in moredepth
7 A First Course
Some sources of complexity• Problem domain is complex• Top-down design (as opposed toindependent actors in the economy)• Software is not adaptable like people• Large team efforts required• Integration of heterogeneous suppliers
Caution^8 A First Course
• The applications considered in this courseare relatively simple• We have addressed– only the top of the hierarchy– ignored details– but this is the essence of hierarchical design:make that which is complex appear simple
Modularity^10 A First Course
• A system is modular when it is divided intosubsystems (called modules) with goodproperties– Modules have distinct functional groupings– Hierarchy supports views at differentgranularity and scale– Separation of concerns among modules– Reusability of some modules
HierarchySoftware:Allows a systemto be understoodat differentgranularity^11 A First Course
Organization:Allows a managerto focus on high-levelobjectives, delegatinglow-level detail
Separation of concerns^13 A First Course
-^ The assignment of functionality to differentmodules should allow them to be designed andimplemented as independently as possible•^ The level of interaction– may be internally high– should be externally low•^ They can then be assigned to different groups orcompanies for design– minimum coordination costs
Physical-world exampleCredit checkingCustomer serviceCustomer serviceCredit checkingJanitorialFloor polishingPhysical plantLoan departmentCustomer serviceJanitorialCredit checkingFloor polishing^14 A First Course
Poormodularity Bettermodularity
Parts of a module=^ +^16 A First Course
Module^
ImplementationInterface What only theWhat otherimplementermodules seesees
17 A First Course
Interface vs. decomposition• At the interface, you see the only what amodule does to benefit other modules• Internally, the functionality required torealize actions promised at the interface isdecomposed into interacting modules• These are different (but related) views
19 A First Course
Example: automobile internalarchitectureSteeringAcceleratorwheel^
Brake PowerEnginesteering^
Power brake booster Front wheels(turn,slower)^
Rear wheels(slower,faster)
Interfaces^20 A First Course
• Focus of module interaction andinteroperability• Two purposes:– Informs other modules how to interact– Informs implementer about what has beenpromised to other modules