Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.

Similar presentations


Presentation on theme: "1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II."— Presentation transcript:

1 1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II

2 2 CS 501 Spring 2003 Administration Schedule your second presentations with Anat Nidar-Levi

3 3 CS 501 Spring 2003 Distributed Computing Example 4: UseNet This is an example of an epidemic protocol. Such protocols are especially useful in networks with intermittent connectivity, e.g., mobile computing. The biggest problem is ensuring that the data is distributed effectively.

4 4 CS 501 Spring 2003 Distributed Computing Example 5: The Domain Name System.edu server cornell.edu server cs.cornell.edu server First attempt to resolve www.cs.cornell.edu 1 2 3

5 5 CS 501 Spring 2003 Distributed Computing The Domain Name System.edu server cornell.edu server cs.cornell.edu server Better method 3 1 almaden.ibm.com cornell.edu ece.cmu.edu ibm.com acm.org.edu 2 Local cache local DNS server

6 6 CS 501 Spring 2003 Distributed Computing Domain Name System For details of the actual protocol read: Paul Mockapetris, "Domain Names - Implementation and Specification". IETF Network Working Group, Request for Comments: 1035, November 1987. http://www.ietf.org/rfc/rfc1035.txt?number=1035

7 7 CS 501 Spring 2003 Distributed Computing Example 5: Web Server http message daemon spawned processes TCP port 80 The daemon listens at port 80 When a message arrives it: spawns a processes to handle the message returns to listening at port 80

8 8 CS 501 Spring 2003 Time-Critical Systems A real time (time-critical) system is a software system whose correct functioning depends upon the results produced and the time at which they are produced. A soft real time system is degraded if the results are not produced within required time constraints A hard real time system fails if the results are not produced within required time constraints

9 9 CS 501 Spring 2003 Time-Critical System Example 1: Autonomous Land Vehicle Sensors GPS Sonar Laser Signal processing ModelControl signals Steer Throttle Controls

10 10 CS 501 Spring 2003 Time-Critical System Example 2: Routers and Other Network Computing Interoperation with third party devices Support for several versions of protocols Restart after total failure Defensive programming -- must survive => erroneous or malicious messages => extreme loads Time outs, dropped packets, etc. Evolution of network systems

11 11 CS 501 Spring 2003 Techniques: Software Development Developers of advanced time-critical software spend almost all their effort developing the software environment: Monitoring and testing -- debuggers Crash restart -- component and system-wide Downloading and updating Hardware troubleshooting and reconfiguration etc., etc., etc.

12 12 CS 501 Spring 2003 Time-Critical System Example 3: CD Controller Input block Output block 1 2 3 4 5 6 7 Circular buffer

13 13 CS 501 Spring 2003 Time-Critical System Example 4: Embedded Real-time Systems Software and hardware are combined to provide an integrated unit, usually dedicated to a specific task: Digital telephone Automobile engine control GPS Scientific instruments Seat bag controller The software may be embedded in the device in a manner that cannot be altered after manufacture.

14 14 CS 501 Spring 2003 Time-Critical System Example 4: Embedded Real-time Systems Design of embedded systems requires close understanding of hardware characteristics Special purpose hardware requires special tools and expertise. Some functions may be implemented in either hardware of software (e.g., floating point unit) Design requires separation of functions Distinction between hardware and software may be blurred. Hardware v. Software

15 15 CS 501 Spring 2003 Time-Critical System Example 5: Shared Systems Many users are using the same equipment at the same time Multi-user data processing (common task) Time sharing (independent tasks)

16 16 CS 501 Spring 2003 Techniques Special purpose hardware Multi-threading and multi-tasking Parallel processing => digital signal processing Interrupts => levels and priorities

17 17 CS 501 Spring 2003 Techniques: Multi-Threading Several similar threads operating concurrently: Re-entrant code -- separation of pure code from data for each thread Testing -- single thread and multi thread May be real-time (e.g., telephone switch) or non- time critical

18 18 CS 501 Spring 2003 Techniques: Real Time Executive Schedules and dispatches tasks in a real time system Real time clock Interrupt handler Scheduler Resource manager Dispatcher Must be extremely reliable

19 19 CS 501 Spring 2003 Techniques: Timing Timing mechanisms Synchronous (clocked) -- periodic stimuli Asynchronous -- wait for next signal Example: Communications protocols may be synchronous or asynchronous

20 20 CS 501 Spring 2003 Techniques: Software Considerations Resource considerations may dictate software design and implementation: Low level language (e.g., C) where programmer has close link to machine Inter-process communication may be too slow (e.g., C fork). May implement special buffering, etc., to control timings

21 21 CS 501 Spring 2003 Continuous Operation Many systems must operate continuously Software update while operating Hardware monitoring and repair Alternative power supplies, networks, etc. Remote operation These functions must be designed into the fundamental architecture.


Download ppt "1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II."

Similar presentations


Ads by Google