Presentation is loading. Please wait.

Presentation is loading. Please wait.

Understanding Networked Applications: A First Course Ideas and examples (Chapter 6) by David G. Messerschmitt.

Similar presentations


Presentation on theme: "Understanding Networked Applications: A First Course Ideas and examples (Chapter 6) by David G. Messerschmitt."— Presentation transcript:

1 Understanding Networked Applications: A First Course Ideas and examples (Chapter 6) by David G. Messerschmitt

2 Understanding Networked Applications A First Course 2 Copyright notice ©Copyright David G. Messerschmitt, 2000. This material may be used, copied, and distributed freely for educational purposes as long as this copyright notice remains attached. It cannot be used for any commercial purpose without the written permission of the author.

3 Understanding Networked Applications A First Course 3 Three elements of architecture Decomposition Functionality Interaction Organization Responsibility Cooperation

4 Understanding Networked Applications A First Course 4 Software: Allows a system to be understood at different granularity Hierarchy

5 Understanding Networked Applications A First Course 5 Interfaces Focus of module interaction and interoperability Two purposes: –informs other modules how to interact –informs implementer as to what has been promised to other modules

6 Understanding Networked Applications: A First Course Interface vs decomposition By David G. Messerschmitt

7 Understanding Networked Applications A First Course 7 Interface vs. decomposition At the interface, you see the only what a module does to benefit other modules Internally, the functionality required to realize actions promised at the interface is decomposed into interacting modules These are different (but related) views

8 Understanding Networked Applications A First Course 8 Example: automobile user interface view Steering wheel AcceleratorBrake Turn_right Turn_left Go_faster Go_slower This is an interface view of the application: it aggregates all the functionality made available by all modules in the automobile

9 Understanding Networked Applications A First Course 9 Example: automobile internal architecture Steering wheel AcceleratorBrake Power steering Engine Power brake booster Front wheels (turn,slower) Rear wheels (slower,faster)

10 Understanding Networked Applications: A First Course Interface/protocol example by David G. Messerschmitt

11 Understanding Networked Applications A First Course 11 Copyright notice ©Copyright David G. Messerschmitt, 2000. This material may be used, copied, and distributed freely for educational purposes as long as this copyright notice remains attached. It cannot be used for any commercial purpose without the written permission of the author.

12 Understanding Networked Applications A First Course 12 Protocol In addition to atomic actions, an interface may define protocols –Protocol == finite sequence of actions required to achieve a higher level function –One action can be shared by multiple protocols –Multiple modules may participate in a protocol A protocol can also be thought of as a distributed algorithm

13 Understanding Networked Applications A First Course 13 Automatic teller machine (ATM) What is the interface between this machine and the customer?

14 Understanding Networked Applications A First Course 14 Steps Define available actions Define, for each higher level function, a protocol –Single action or a finite sequence of actions

15 Understanding Networked Applications A First Course 15 Interface building blocks Message on screen or printed –Menu of actions or returns from an action –Touch selection of action Keypad –Input parameters to an action Card reader –Authentication, input parameters Money output slot –Returns money

16 Understanding Networked Applications A First Course 16 Action: authentication Parameters Internal functionality Returns

17 Understanding Networked Applications A First Course 17 Action: authentication Parameters –Identity (card in slot) –Institution (card in slot) –PIN (typed on keypad) Internally, it contacts institution and matches against its database, institution noted for all subsequent actions (example of state) Returns –Screen message (“Invalid PIN” or menu of available actions)

18 Understanding Networked Applications A First Course 18 Action: specify_account Parameters Internal functionality Returns

19 Understanding Networked Applications A First Course 19 Action: specify_account Parameters –Account (touch screen from menu of choices) Internally, choice noted for all subsequent actions (another example of state) Returns –None

20 Understanding Networked Applications A First Course 20 Action: amount Parameters –Dollars_and_cents (typed on keypad) Internally, amount noted (another example of state) Returns –Success or failure (state dependent, for example for a withdraw failure when dollars_and_cents exceeds balance)

21 Understanding Networked Applications A First Course 21 Protocol: cash_withdrawal What is the sequence of actions?

22 Understanding Networked Applications A First Course 22 Protocol: cash_withdrawal authentication choose objective account amount failure other objectives no accounts balance exceeded!

23 Understanding Networked Applications A First Course 23 Example of abstraction ATM interface Bank not requested or identified


Download ppt "Understanding Networked Applications: A First Course Ideas and examples (Chapter 6) by David G. Messerschmitt."

Similar presentations


Ads by Google