CS 501: Software Engineering Fall 2000 - PowerPoint PPT Presentation

About This Presentation
Title:

CS 501: Software Engineering Fall 2000

Description:

Grades -- presentation, report, individual. Comments at ... Throttle. Controls. Other Applications. Response critical. Network router. Telephone switch ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 31
Provided by: paye
Category:

less

Transcript and Presenter's Notes

Title: CS 501: Software Engineering Fall 2000


1
CS 501 Software EngineeringFall 2000
Lecture 15 System Architecture II Distributed
and Real Time Systems
2
Administration
Assignment 2 Requirements Grades --
presentation, report, individual Comments
at presentation Comments from teaching
assistant Assignment 3 Design
3
Comments on Requirements Report
Audience Client and design team Will
be updated over time Content Level of
detail -- will be used to validate the
implementation Requirements, not design
Precise, but not legalistic
4
Sequence Diagram Notation
libMem LibraryMember
theBookBook
BookBorrower
theCopyCopy
dotted line shows object lifetime
borrow(theCopy)
okToBorrow
borrow
rectangle shows focus of control
borrow
5
Sequence Diagram Branching
libMem LibraryMember
theBookBook
theCopyCopy
BookBorrower
1borrow(theCopy)
2okToBorrow
ok3borrow
not ok3noborrow
4borrow
branch
6
Example Distributed Database
two copies of the same data
7
Distributed Data and Replication
Distributed Data Data is held on several computer
systems. A transaction may need to assemble data
from several sources. Replication Several copies
of the data are held in different locations.
Mirror Complete data set is replicated Cache
Dynamic set of data is replicated (e.g., most
recently used) With replicated data, the biggest
problem is consistency.
8
Example Broadcast Search
Databases
User interface server
User
9
Example UseNet
10
Stateless Protocol v. Stateful
Stateless protocol Example http Open
connection Send message Return reply Close
connection State in http must be sent with every
message (e.g., as parameter string or in a cookie)
11
Stateless Protocol v. Stateful
Stateful (session) protocol Example
Z39.50 Open connection Begin session Interactiv
e session End session Close connection Server
remembers the results of previous transactions
(e.g., authentication, partial results) until
session is closed.
12
Firewall
Private network
Public network
Firewall
A firewall is a computer at the junction of two
network segments that Inspects every
packet that attempts to cross the boundary
Rejects any packet that does not satisfy certain
criteria, e.g., an incoming request to open a
TCP connection an unknown packet type
13
The Domain Name System
First attempt to resolve www.cs.cornell.edu
.edu server
1
cornell.edu server
2
3
cs.cornell.edu server
14
Discussion of the First Attempt
Problems?
15
The Domain Name System
Better method
.edu server
local DNS server
1
2
cornell.edu server
almaden.ibm.com cornell.edu ece.cmu.edu ibm.com ac
m.org .edu
3
Local cache
cs.cornell.edu server
16
Real Time System
A real time 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
17
Example Web Server
http message
daemon
TCP port 80
spawned processes
The daemon listens at port 80. When a message
arrives it spawns a processes to handle the
message returns to listening at port 80
18
Embedded 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 The software may be embedded in the
device in a manner that can not be altered after
manufacture.
19
Example Autonomous Land Vehicle
GPS
Steer
Sonar
Model
Control signals
Throttle
Laser
Controls
Sensors
Signal processing
20
Other Applications
Response critical Network router
Telephone switch Seat bag controller Shared
systems Multi-user data processing
Time sharing
21
Techniques
Special purpose hardware
Multi-threading and multi-tasking Parallel
processing gt digital signal processing
Interrupts gt levels and priorities
22
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
23
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
24
Timing
Timing mechanisms Synchronous (clocked) --
periodic stimuli Asynchronous -- wait for
next signal Example Communications protocols
may be synchronous or asynchronous
25
Hardware v. Software
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.
26
Example Dartmouth Time Shared System
master processor
Central processor
Communications processor
Central processor
I/O Mulitplexor
Communications processor
Central processor
27
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
28
Example CD Controller
3
4
1
2
Input block
5
Output block
6
7
Circular buffer
29
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.
30
Routers and Other Network Computing
Interoperation with third party devices
Support for several versions of protocols
Restart after total failure Defensive
programming -- must survive gt erroneous or
malicious messages gt extreme loads Time
outs, dropped packets, etc. Evolution of
network systems
Write a Comment
User Comments (0)
About PowerShow.com