CS 501: Software Engineering Fall 2000 Lecture 15 System Architecture II Distributed and Real Time Systems.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
CS CS 5150 Software Engineering Lecture 14 System Architecture 2.
CS 501: Software Engineering Fall 2000 Lecture 14 System Architecture I Data Intensive Systems.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 14 System Architecture and Design 2.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 31/10/2007.
CS 5150 Software Engineering
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
Networks 1 CS502 Spring 2006 Network Input & Output CS-502 Operating Systems Spring 2006.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 14 System Architecture and Design 2.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
CS CS 5150 Software Engineering Lecture 14 System Architecture 2.
CS 501: Software Engineering Fall 2000 Lecture 13 Object-Oriented Design III.
CS-3013 & CS-502, Summer 2006 Network Input & Output1 CS-3013 & CS-502, Summer 2006.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 14 System Architecture and Design 2.
Understanding Factors That Influence Performance of a Web Server Presentation CS535 Project By Thiru.
EMBEDDED SOFTWARE Team victorious Team Victorious.
Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
CS 501: Software Engineering Fall 1999 Lecture 18 (a) Project Reports (b) Object-Oriented Design III.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
CS 360 Lecture 8.  The requirements describe the function of a system as seen by the client.  The software team must design a system that will meet.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
EEL Software development for real-time engineering systems.
Copyright © Curt Hill, Client – Server Computing An important paradigm.
CS1Q Computer Systems Lecture 17 Simon Gay. Lecture 17CS1Q Computer Systems - Simon Gay2 The Layered Model of Networks It is useful to think of networks.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
EEE440 Computer Architecture
CS 501: Software Engineering
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 14 System Architecture II.
William Stallings Data and Computer Communications
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 14 System Architecture and Design 2.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
OS2- Sem1-83; R. Jalili Introduction Chapter 1. OS2- Sem1-83; R. Jalili Definition of a Distributed System (1) A distributed system is: A collection of.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
The Client Server Model And Software Design
Enterprise Network Systems Client/ Server Mark Clements.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 15 System Architecture and Design I.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
COMPUTER NETWORKS Hwajung Lee. Image Source:
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Last Class: Introduction
WWW and HTTP King Fahd University of Petroleum & Minerals
Chapter 3 Internet Applications and Network Programming
Real-time Software Design
Client-Server Interaction
Chapter 3: Windows7 Part 4.
System Architecture CS 560 Lecture 8.
CS 501: Software Engineering
CS 501: Software Engineering Fall 1999
Software models - Software Architecture Design Patterns
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Presentation transcript:

CS 501: Software Engineering Fall 2000 Lecture 15 System Architecture II Distributed and Real Time Systems

Administration Assignment 2: Requirements Grades -- presentation, report, individual Comments at presentation Comments from teaching assistant Assignment 3: Design

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

Sequence Diagram: Notation BookBorrower libMem: LibraryMember theCopy:Copy theBook:Book borrow(theCopy) okToBorrow borrow dotted line shows object lifetime rectangle shows focus of control

Sequence Diagram: Branching BookBorrower libMem: LibraryMember theCopy:Copy theBook:Book 1:borrow(theCopy) 2:okToBorrow [ok]3:borrow 4:borrow branch [not ok]3:noborrow

Example: Distributed Database two copies of the same data

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.

Example: Broadcast Search User interface server User Databases

Example: UseNet

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)

Stateless Protocol v. Stateful Stateful (session) protocol Example: Z39.50 Open connection Begin session Interactive session End session Close connection Server remembers the results of previous transactions (e.g., authentication, partial results) until session is closed.

Firewall Public network Private 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

The Domain Name System.edu server cornell.edu server cs.cornell.edu server First attempt to resolve

Discussion of the First Attempt Problems?

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

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

Example: 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

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.

Example: Autonomous Land Vehicle Sensors GPS Sonar Laser Signal processing ModelControl signals Steer Throttle Controls

Other Applications Response critical Network router Telephone switch Seat bag controller Shared systems Multi-user data processing Time sharing

Techniques Special purpose hardware Multi-threading and multi-tasking Parallel processing => digital signal processing Interrupts => levels and priorities

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

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

Timing Timing mechanisms Synchronous (clocked) -- periodic stimuli Asynchronous -- wait for next signal Example: Communications protocols may be synchronous or asynchronous

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.

Example: Dartmouth Time Shared System Communications processor Central processor Central processor Central processor I/O Mulitplexor master processor

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

Example: CD Controller Input block Output block Circular buffer

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.

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