DOC PREVIEW
CORNELL CS 501 - CS 501 Lecture 15

This preview shows page 1-2-14-15-29-30 out of 30 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 501: Software Engineering Fall 2000AdministrationComments on Requirements ReportSequence Diagram: NotationSequence Diagram: BranchingExample: Distributed DatabaseDistributed Data and ReplicationPowerPoint PresentationSlide 9Stateless Protocol v. StatefulSlide 11FirewallThe Domain Name SystemDiscussion of the First AttemptSlide 15Real Time SystemExample: Web ServerEmbedded SystemsExample: Autonomous Land VehicleOther ApplicationsTechniquesMulti-ThreadingReal Time ExecutiveTimingHardware v. SoftwareExample: Dartmouth Time Shared SystemSoftware ConsiderationsExample: CD ControllerContinuous OperationRouters and Other Network ComputingCS 501: Software EngineeringFall 2000Lecture 15System Architecture IIDistributed and Real Time SystemsAdministrationAssignment 2: Requirements• Grades -- presentation, report, individual• Comments at presentation• Comments from teaching assistantAssignment 3: DesignComments on Requirements ReportAudience• Client and design team• Will be updated over timeContent• Level of detail -- will be used to validate the implementation• Requirements, not design• Precise, but not legalisticSequence Diagram: NotationBookBorrowerlibMem: LibraryMembertheCopy:CopytheBook:Bookborrow(theCopy)okToBorrowborrowborrowdotted line shows object lifetimerectangle shows focus of controlSequence Diagram: BranchingBookBorrowerlibMem: LibraryMembertheCopy:CopytheBook:Book1:borrow(theCopy)2:okToBorrow[ok]3:borrow4:borrowbranch [not ok]3:noborrowExample: Distributed Databasetwo copies of the same dataDistributed Data and ReplicationDistributed DataData is held on several computer systems. A transaction may need to assemble data from several sources.ReplicationSeveral 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.Example: Broadcast SearchUser interfaceserverUserDatabasesExample: UseNetStateless Protocol v. StatefulStateless protocol Example: http Open connectionSend message Return replyClose connectionState in http must be sent with every message (e.g., as parameter string or in a cookie)Stateless Protocol v. StatefulStateful (session) protocolExample: Z39.50Open connectionBegin sessionInteractive sessionEnd sessionClose connectionServer remembers the results of previous transactions (e.g., authentication, partial results) until session is closed.FirewallPublic networkPrivate networkFirewallA 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 connectionan unknown packet typeThe Domain Name System.edu servercornell.edu servercs.cornell.edu serverFirst attempt to resolve www.cs.cornell.edu123Discussion of the First AttemptProblems?The Domain Name System.edu servercornell.edu servercs.cornell.edu serverBetter method 31almaden.ibm.comcornell.eduece.cmu.eduibm.comacm.org.edu2Localcachelocal DNS serverReal Time SystemA 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 constraintsExample: Web Serverhttp messagedaemonspawned processesTCP port 80The daemon listens at port 80.When a message arrives it:spawns a processes to handle the messagereturns to listening at port 80Embedded SystemsSoftware and hardware are combined to provide an integrated unit, usually dedicated to a specific task:• Digital telephone• Automobile engine control• GPS • Scientific instrumentsThe software may be embedded in the device in a manner that can not be altered after manufacture.Example: Autonomous Land VehicleSensorsGPSSonarLaserSignal processingModel Control signalsSteerThrottleControlsOther ApplicationsResponse critical• Network router• Telephone switch• Seat bag controllerShared systems• Multi-user data processing• Time sharingTechniques• Special purpose hardware• Multi-threading and multi-tasking• Parallel processing => digital signal processing• Interrupts=> levels and prioritiesMulti-ThreadingSeveral similar threads operating concurrently:• Re-entrant code -- separation of pure code from data for each thread• Testing -- single thread and multi threadMay be real time (e.g., telephone switch) or non-time criticalReal Time ExecutiveSchedules and dispatches tasks in a real time system• Real time clock• Interrupt handler• Scheduler• Resource manager• DispatcherMust be extremely reliableTimingTiming mechanisms• Synchronous (clocked) -- periodic stimuli• Asynchronous -- wait for next signalExample: Communications protocols may be synchronous or asynchronousHardware v. SoftwareDesign 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 functionsDistinction between hardware and software may be blurred.Example: Dartmouth Time Shared SystemCommunications processorCommunications processorCentralprocessorCentralprocessorCentralprocessorI/OMulitplexormaster processorSoftware ConsiderationsResource 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 timingsExample: CD ControllerInput blockOutput block1234567Circular bufferContinuous OperationMany systems must operate continuously• Software update while operating• Hardware monitoring and repair• Alternative power supplies, networks, etc.• Remote operationThese functions must be designed into the fundamental architecture.Routers and Other Network Computing• Interoperation with third party devices• Support for several versions of protocols• Restart after total failure•


View Full Document

CORNELL CS 501 - CS 501 Lecture 15

Documents in this Course
Quiz 2

Quiz 2

2 pages

Usability

Usability

31 pages

Quiz 1

Quiz 1

2 pages

Stulba;''

Stulba;''

33 pages

Load more
Download CS 501 Lecture 15
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view CS 501 Lecture 15 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view CS 501 Lecture 15 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?