Software Architecture
|
|
|
- Rosalyn McDowell
- 9 years ago
- Views:
Transcription
1 Software Architecture Lecture 2 Data Flow Systems João Pedro Sousa George Mason University last class Software Architecture is about representing the structure of a system from different angles: views views help manage the complexity of describing the architecture viewtypes determine the kinds of things a view talks about three primary viewtypes: module, C&C, allocation some styles occur frequently within each viewtype module: decomposition, generalization, layered, C&C: pipe & filter, client-server, pub-sub allocation: deployment, work assignment Lecture 2 Data Flow Systems 2 1
2 today s outline data flow styles lab 1 process control batch-sequential pipe & filter case study: Tektronix pipe & filter sub-styles & implementation Acknowledgment some of the material presented in this course is adapted from 17655, taught to the MSE at CMU by David Garlan and Tony Lattanze Lecture 2 Data Flow Systems 3 in data flow styles data flow dominates structure and control a data flow system is one in which: the structure of the design is determined by the motion of data from component to component the availability of data controls the computation the pattern of data flow is explicit this is the only form of communication between components variations on this theme how control is exerted (e.g., push versus pull) degree of concurrency between processes granularity of computation topological restrictions (e.g., pipeline) Lecture 2 Data Flow Systems 4 2
3 data flow styles assume: connectors are data streams interfaces are reader and writer roles transport data from writer roles to reader roles unidirectional (usually asynchronous, buffered) components do not know the identity of upstream/downstream producers/consumers read data from input ports compute write data to output ports Lecture 2 Data Flow Systems 5 in data flow styles availability of data controls the computation any component that has input may process it overall data transformation is the functional composition of individual transformations s? f g h h(g(f(s))) Lecture 2 Data Flow Systems 6 3
4 data flow styles structure is an arbitrary graph in general, data can flow in arbitrary patterns however, frequently data flows in stages or in simple, highly constrained cyclic structures Lecture 2 Data Flow Systems 7 three major data flow styles batch sequential data flow pipe & filter process control Unix pipes process control looping structure to control environment variables batch sequential sequential processing steps, run to completion typical of early MIS applications pipe & filter incremental transformation of streams Yahoo pipes Unix pipes and Yahoo pipes are special cases (sub-styles) Lecture 2 Data Flow Systems 8 4
5 example of process control open-loop control system Chimney Ambient Air in Heated Air out Gas Valve Gas Line Lecture 2 Data Flow Systems 9 example of process control closed-loop control system Thermostat Chimney Ambient Air in Heated Air out Gas Line Lecture 2 Data Flow Systems 10 5
6 process control notions open-loop system: process variables not used to control the system closed-loop system: process variables used to control the system controlled variable: goal (ex: air temperature inside the house) set Point: value for the controlled variable input variable: what the system can measure (ex: temperature of the outside air coming into the furnace) manipulated variables: what the system can affect (ex: turning the furnace on or off) feedback control controlled variable is measured and taken into account feed-forward control process variables other than c.v. are taken into account Lecture 2 Data Flow Systems 11 architecture of closed-loop process control inputs... set point value control task manipulated values Process to Control controlled value feedback legend computation data flow Lecture 2 Data Flow Systems 12 6
7 example architecture heating closed-loop control outside temp desired temp control task on/off furnace temp inside the house legend computation data flow Lecture 2 Data Flow Systems 13 example architecture very simplified avionics trim pilot inputs: Roll Pitch Yaw +/- aileron ctl. process servo value altitude air speed control task +/- +/- +/- A to D conv elevator ctl. process rudder ctl. process legend +/- digital positive or negative increment analog signal Lecture 2 Data Flow Systems 14 7
8 three major data flow styles batch sequential data flow pipe & filter process control Unix pipes process control looping structure to control environment variables Yahoo pipes batch sequential sequential processing steps, run to completion typical of early MIS applications pipe & filter incremental transformation of streams Unix pipes and Yahoo pipes are special cases (sub-styles) Lecture 2 Data Flow Systems 15 batch sequential assumes: connectors data is transmitted as a whole between steps components processing steps are independent programs each step runs to completion before the next step starts Program Program Program... legend data flow via magnetic tape computational units Lecture 2 Data Flow Systems 16 8
9 examples of batch sequential systems classical data processing payroll computations IRS tax return computations tape Validate tape Sort tape Update tape Report report tape early software development environments Text Code Lex Syn Sem Opt Code Lecture 2 Data Flow Systems 17 three major data flow styles batch sequential data flow pipe & filter process control Unix pipes process control looping structure to control environment variables Yahoo pipes batch sequential sequential processing steps, run to completion typical of early MIS applications pipe & filter incremental transformation of streams Unix pipes and Yahoo pipes are special cases (sub-styles) Lecture 2 Data Flow Systems 18 9
10 pipe & filter assumes: connectors, called pipes: move data from a filter output to a filter input one-way, order-preserving, data-preserving system action is mediated by data delivery components, called filters: incrementally transform the input data to output data enrich data by computation and adding information refine by distilling data or removing irrelevant data transform data by changing its representation operate independently/concurrently among each other no external context in processing streams no state preservation between instantiations no knowledge of upstream/downstream filters topology determines the overall computation, not relative speed/cpu allocation of filters Lecture 2 Data Flow Systems 19 example of pipe & filter system telemetry data collection frame collection minor frame decommutation display data time tag frame measurement units record data major frame decommutation apply coefficients Lecture 2 Data Flow Systems 20 10
11 example P&F autonomic vehicle Lecture 2 Data Flow Systems 21 special case of the pipe & filter style Unix pipes pipes: buffered streams supported by OS assume ASCII character streams can treat files as well as filters as data sources and sinks the good news: anything can connect to anything the bad news: everything must be encoded in ASCII, if not, it must be translated before piping filters: Unix processes built-in ports: stdin, stdout, stderr filters by default transform stdin to stdout Lecture 2 Data Flow Systems 22 11
12 example of Unix pipes system cat /etc/passwd grep joe sort > junk passwd cat grep sort junk does this stretch any assumption of the pure pipe & filter style? Lecture 2 Data Flow Systems 23 special case of the pipe & filter style Yahoo pipes web application for authoring Yahoo pipes Yahoo pipe is a data mashup application hosted by Yahoo combine, filter, and present data from different web sources Lecture 2 Data Flow Systems 24 12
13 outline data flow styles process control batch-sequential pipe & filter case study: Tektronix lab 1 pipe & filter sub-styles & implementation Lecture 2 Data Flow Systems 25 major manufacturer of oscilloscopes Tektronix signals oscilloscope traces and measurements Lecture 2 Data Flow Systems 26 13
14 Tektronix had a problem (real) increasing complexity of instrumentation systems increasing role of software in products that were once largely hardware raised expectations of users separate development cultures similar products developed by different divisions little sharing build-from-scratch methods new hardware or new UI => new software products hard to develop and evolve increasingly serious bugs due to concurrency excessive time-to-market (~ 4-5 years) Lecture 2 Data Flow Systems 27 Tektronix challenge build next generation instrumentation systems allow reuse between product divisions sophisticated products in response to user desires consistent user interface across multiple hardware platforms multiple user interfaces for same platform (vertical markets) reduce time to market Lecture 2 Data Flow Systems 28 14
15 Tektronix tried O-O approach with mixed results created class hierarchy waveform max-min wvfm x-y wvfm accumulate wvfm waveform w: time-> voltage max: -> voltage min: -> voltage invert:... add:... result: hundreds of classes hard to organize hierarchy doesn t relate to structure of system (oscilloscope) Lecture 2 Data Flow Systems 29 next, Tektronix tried layered approach also with mixed results Hardware Digitization Visualization User interface result: designers found layer boundaries hard to enforce and unrealistic Lecture 2 Data Flow Systems 30 15
16 third, Tektronix tried pipe & filter with better results Signal Couple Acquire To-XY Clip Times Waveform Trace Trigger subsystem Measure Measurement result: clearly reflects design organization and features not clear how to model user input Lecture 2 Data Flow Systems 31 fourth, Tektronix tried extending p & f with parameterized filters Coupling Kind,Rate Trans Size Signal Couple Acquire To-XY Clip Times Trigger subsystem Waveform Trace Measure Measurement result: clearly reflects design organization and features models user input not directly useful for implementors Lecture 2 Data Flow Systems 32 16
17 fifth, Tektronix extended p & f with colored pipes Coupling Kind,Rate Trans Size Signal Couple Acquire To-XY Clip Times Trigger subsystem Waveform Trace Measure Measurement result: clearly reflects design organization and features models user input describes the nature of data and performance constraints on each pipe Lecture 2 Data Flow Systems 33 software architecture had an impact on Tektronix business architectural style was used as basis for the next generation of oscilloscope products led to highly successful framework, in which time-to-market was cut substantially reliability of products was improved user interface was extensible new thrust of research/development collaborations led to new frameworks beyond oscilloscopes Lecture 2 Data Flow Systems 34 17
18 take 5 Lecture 2 Data Flow Systems 35 outline data flow styles process control batch-sequential pipe & filter case study: Tektronix lab 1 recover views from the code: module, C&C pipe & filter sub-styles & implementation Lecture 2 Data Flow Systems 36 18
19 lab 1: pipe & filter system build avionics instrumentation systems data comes in from airplane sensors ID Data Descriptions and Units Type Number of Bytes 00 Time: number of milliseconds since the Epoch (00:00:00 GMT on January 1, 1970) long int 8 01 Velocity: airspeed of the vehicle, measured in knots per hour double 8 02 Altitude: vehicle s distance from the average surface of oceans, measured in feet double 8 03 Pressure: atmospheric pressure external to the vehicle, measured in PSI double 8 04 Temperature: temperature of the vehicle s hull, measured in degrees Fahrenheit double 8 05 Pitch: angle of the nose of the vehicle, if positive, the vehicle is climbing double 8 framed as 0000 Time 0001 Velocity n data 0000 Time 0001 Velocity n data Lecture 2 Data Flow Systems 37 lab 1: pipe & filter system build avionics instrumentation systems system A: reads flight data and converts Temp to Celsius converts altitude to meters removes other fields system B: same plus includes pressure data removes pressure outliers > 80psi or <50 psi and replaces them by interpolated values (avg of previous and next) system C: merges streams from two sets of sensors output frames are sorted by time Stream A : 10:23: :23: : : Stream B : 10:23: :23: : : Stream C : 10:23: :23: :23: :23: :23: : : Lecture 2 Data Flow Systems 38 19
20 lab 1: pipe & filter system based on a code framework remember: module and C&C viewtypes show different aspects module view C&C view main lower split lower upper merge split merge config input/output upper Legend Module is a uses Legend Filter Pipe Lecture 2 Data Flow Systems 39 lab 1 module view Object Thread Plumber OutputStream InputStream PipedOutputStream FilterFramework PipedInputStream SourceFilter MiddleFilter SinkFilter Java lib app class extends (is a) uses Lecture 2 Data Flow Systems 40 20
21 lab 1 C&C view Filter1 <SourceFilter> Filter2 <MiddleFilter> Filter3 <SinkFilter> Plumber main filter (thread) pipe creates and connects the filters doesn t intervene during system operation therefore not normally represented Lecture 2 Data Flow Systems 41 why is the code written like this? a little history the Greeks had the following number system: separate letters for numbers between 1 and 9 (for example, was nine) separate letters for multiples of ten between 10 and 90 (for example, was sixty) separate letters for multiples of one hundred between 100 and 900 (for example, was 300) so 309 was written the positional system arrived in 500 AD imagine someone used to the Greek system being annoyed with having to write extra digits why is the positional system successful? Lecture 2 Data Flow Systems 42 21
22 outline data flow styles lab 1 process control batch-sequential pipe & filter case study: Tektronix pipe & filter sub-styles & implementation Lecture 2 Data Flow Systems 43 pipe & filter sub-styles & implementation system level topological constraints some styles insist on a pipeline, or no cycles that is, some styles are hierarchical, some aren t strategies for creation of elements centralized versus distributed static versus dynamic declarative versus operational (some systems have both) Lecture 2 Data Flow Systems 44 22
23 pipe & filter sub-styles & implementation components concurrency separate processes or single address space constraints on ports e.g., Unix components typically have 3 ports: stdin, stdout, stderr e.g., some styles require single input and single output port computational model e.g., how do you deal with multiple inputs? Lecture 2 Data Flow Systems 45 pipe & filter sub-styles & implementation connectors finite versus infinite buffering dealing with end of data can a writer terminate the flow of data? can a reader choose not to consume data on a pipe? what can a reader or a writer do after data has been terminated? does data have different types? how many kinds of pipes are there? (colored pipes) Lecture 2 Data Flow Systems 46 23
24 pipe & filter sub-styles & implementation example: Unix pipes two kinds of specification shell (ex:) infile > capitalize rem_white_space compress > outfile programmatically: use stdio library to create pipes and hook them up topology linear if from shell may have cycles if done programmatically creation static if from shell dynamic if done programmatically Lecture 2 Data Flow Systems 47 pipe & filter sub-styles & implementation example: Unix pipes filters concurrency: separate processes ports: three for shell filters computational model: filter chooses which ports to read and write (if you guess wrong deadlock may result) pipes supported by operating system buffered (e.g., 2K bytes) special end-of-file marker reader can close its end of a pipe at any time must be aware of whether input is coming from a file or a filter data has one type only: raw bytes Lecture 2 Data Flow Systems 48 24
25 references for implementation strategies book on Java threads Concurrent Programming in Java: Design Principles and Patterns (2nd Edition) by Doug Lea online tutorial on Java threads Design Patterns book by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Lecture 2 Data Flow Systems 49 in summary select a data flow style when: task is dominated by the availability of data data can be moved predictably from process to process pipe-and-filter architectures are good choices for many data flow applications because they permit reuse and reconfiguration of filters generally easy to reason about reduce system testing may allow incremental AND parallel processing there may be a performance penalty when implementing data flow styles over a single process Lecture 2 Data Flow Systems 50 25
26 in summary styles are rarely usable in simple pure form one technique is to specialize styles styles become more constrained, domain-specific trade generality (expressiveness) for power (analytic capability) we saw this today in the examples of data flow styles data flow batch sequential pipe & filter process control Unix pipes Yahoo pipes Lecture 2 Data Flow Systems 51 in summary there are many points on the spectrum of specialization we looked at a few example today (stars) but will be looking at lots more during the course Generic Styles Generic Style Specializations Generic Component Integration Standards Domain-Spec Component Integration Standards Product Line Frameworks Data Flow Call-Return... Pipes & Filters Process Control... domain-specificity CORBA COM JavaBeans... EJB HLA... Tektronix Oscilloscopes Lab1 Framework... Lecture 2 Data Flow Systems 52 26
Software Engineering
Software Engineering Lecture 06: Design an Overview Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 35 The Design Phase Programming in
Advanced Analysis and Design
Advanced Analysis and Design Architectural Styles Professor David S. Rosenblum Department of Computer Science http://www.cs.ucl.ac.uk/staff/d.rosenblum/ Architectural Styles A set of design rules that
Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g
Systems Integration: Component-based software engineering Objectives To explain that CBSE is concerned with developing standardised components and composing these into applications To describe components
Software Architectures
Software Architectures 2 SWS Lecture 1 SWS Lab Classes Hans-Werner Sehring Miguel Garcia Arbeitsbereich Softwaresysteme (STS) TU Hamburg-Harburg [email protected] [email protected] http://www.sts.tu-harburg.de/teaching/ss-05/swarch/entry.html
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Information Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340
XIX. Software Architectures Software Architectures UML Packages Client- vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
EARTH PEOPLE TECHNOLOGY SERIAL GRAPH TOOL FOR THE ARDUINO UNO USER MANUAL
EARTH PEOPLE TECHNOLOGY SERIAL GRAPH TOOL FOR THE ARDUINO UNO USER MANUAL The Serial Graph Tool for the Arduino Uno provides a simple interface for graphing data to the PC from the Uno. It can graph up
KWIC Implemented with Pipe Filter Architectural Style
KWIC Implemented with Pipe Filter Architectural Style KWIC Implemented with Pipe Filter Architectural Style... 2 1 Pipe Filter Systems in General... 2 2 Architecture... 3 2.1 Pipes in KWIC system... 3
Construction Principles and Design Patterns. Flyweight, Bridge, Builder
Construction Principles and Design Patterns Flyweight, Bridge, Builder 1 The Flyweight Design Pattern: Structure Use: To avoid employing a large number of objects with similar state When objects with intrinsic
(Refer Slide Time: 2:03)
Control Engineering Prof. Madan Gopal Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 11 Models of Industrial Control Devices and Systems (Contd.) Last time we were
RTAP Database Lifecycle Management
SYSTEMS INC. RTAP Database Lifecycle Management Abstract: This paper will describe the typical RTAP database lifecycle and how the tessernet Systems Inc. tools can make this process easier to manage and
Dynamic Adaptability of Services in Enterprise JavaBeans Architecture
1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** [email protected], {pcdavid, ledoux}@emn.fr (*) Faculté
KWIC Exercise. 6/18/2007 2007, Spencer Rugaber 1
KWIC Exercise On a subsequent slide, you will be given the description of a simple program for which you will be asked to devise two architectures. For the purposes of this exercise, you should imagine
Learning Module 4 - Thermal Fluid Analysis Note: LM4 is still in progress. This version contains only 3 tutorials.
Learning Module 4 - Thermal Fluid Analysis Note: LM4 is still in progress. This version contains only 3 tutorials. Attachment C1. SolidWorks-Specific FEM Tutorial 1... 2 Attachment C2. SolidWorks-Specific
Patterns in Software Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 7 GoV Patterns Architectural Part 1 1 GoV Patterns for Software Architecture According to Buschmann et al.: A pattern for software architecture
MECE 102 Mechatronics Engineering Orientation
MECE 102 Mechatronics Engineering Orientation Mechatronic System Components Associate Prof. Dr. of Mechatronics Engineering Çankaya University Compulsory Course in Mechatronics Engineering Credits (2/0/2)
Apache Spark 11/10/15. Context. Reminder. Context. What is Spark? A GrowingStack
Apache Spark Document Analysis Course (Fall 2015 - Scott Sanner) Zahra Iman Some slides from (Matei Zaharia, UC Berkeley / MIT& Harold Liu) Reminder SparkConf JavaSpark RDD: Resilient Distributed Datasets
LAB 6 - GRAVITATIONAL AND PASSIVE FORCES
L06-1 Name Date Partners LAB 6 - GRAVITATIONAL AND PASSIVE FORCES OBJECTIVES And thus Nature will be very conformable to herself and very simple, performing all the great Motions of the heavenly Bodies
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Software design (Cont.)
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
I2C PRESSURE MONITORING THROUGH USB PROTOCOL.
I2C PRESSURE MONITORING THROUGH USB PROTOCOL. Product Details: To eradicate human error while taking readings such as upper precision or lower precision Embedded with JAVA Application: Technology Used:
Surveillance System Using Wireless Sensor Networks
Surveillance System Using Wireless Sensor Networks Dan Nguyen, Leo Chang Computer Engineering, Santa Clara University Santa Clara, California, USA [email protected] [email protected] Abstract The
SIX DEGREE-OF-FREEDOM MODELING OF AN UNINHABITED AERIAL VEHICLE. A thesis presented to. the faculty of
SIX DEGREE-OF-FREEDOM MODELING OF AN UNINHABITED AERIAL VEHICLE A thesis presented to the faculty of the Russ College of Engineering and Technology of Ohio University In partial fulfillment of the requirement
MANUAL FOR RX700 LR and NR
MANUAL FOR RX700 LR and NR 2013, November 11 Revision/ updates Date, updates, and person Revision 1.2 03-12-2013, By Patrick M Affected pages, ETC ALL Content Revision/ updates... 1 Preface... 2 Technical
High-level Design. What is software architecture?
High-level Design Software Architecture What is it? Examples of common architectures Parnas KWIK index example of information hiding Model view controller in high level layered design 1 What is software
An Introduction to Software Architecture
An Introduction to Software Architecture David Garlan and Mary Shaw January 1994 CMU-CS-94-166 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213-3890 Also published as An Introduction
Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
ECEN 1400, Introduction to Analog and Digital Electronics
ECEN 1400, Introduction to Analog and Digital Electronics Lab 4: Power supply 1 INTRODUCTION This lab will span two lab periods. In this lab, you will create the power supply that transforms the AC wall
Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism
Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism Composability Gary R. Mayer [email protected] Hessam S. Sarjoughian [email protected] Arizona Center for Integrative Modeling
Vragen. Architecture presentations in practice. Some terms (from IEEE standard)
Vragen Architecture presentations in practice Waarom is software architectuur belangrijk? Waarom schiet de volgende definitie tekort? The architecture of a software system defines that system in terms
INTERFERENCE OF SOUND WAVES
1/2016 Sound 1/8 INTERFERENCE OF SOUND WAVES PURPOSE: To measure the wavelength, frequency, and propagation speed of ultrasonic sound waves and to observe interference phenomena with ultrasonic sound waves.
imc FAMOS 6.3 visualization signal analysis data processing test reporting Comprehensive data analysis and documentation imc productive testing
imc FAMOS 6.3 visualization signal analysis data processing test reporting Comprehensive data analysis and documentation imc productive testing www.imcfamos.com imc FAMOS at a glance Four editions to Optimize
PD 100A. Printing data system
PD 100A Printing data system Operating instructions ENGLISH IMPORTANT: Read these instructions carefully before installing and using the device; do not forget following all additional information. Keep
Real-time Operating Systems Lecture 27.1
Real-time Operating Systems Lecture 27.1 14.7. Universal Serial Bus () General References http://www.usb.org. http://www.beyondlogic.org/usbnutshell/ References http://www.ftdichip.com/documents/programguides/d2xxpg34.pdf
IR Communication a learn.sparkfun.com tutorial
IR Communication a learn.sparkfun.com tutorial Available online at: http://sfe.io/t33 Contents Getting Started IR Communication Basics Hardware Setup Receiving IR Example Transmitting IR Example Resources
Architectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2. Component 2.1 Component 2.2.
Architectural Patterns Architectural Patterns Dr. James A. Bednar [email protected] http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson [email protected] http://www.inf.ed.ac.uk/ssp/members/dave.htm
Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying
Today s Outline. Computer Communications. Java Communications uses Streams. Wrapping Streams. Stream Conventions 2/13/2016 CSE 132
Today s Outline Computer Communications CSE 132 Communicating between PC and Arduino Java on PC (either Windows or Mac) Streams in Java An aside on class hierarchies Protocol Design Observability Computer
Basics of Digital Recording
Basics of Digital Recording CONVERTING SOUND INTO NUMBERS In a digital recording system, sound is stored and manipulated as a stream of discrete numbers, each number representing the air pressure at a
AIRCRAFT PERFORMANCE Pressure Altitude And Density Altitude
Performance- Page 67 AIRCRAFT PERFORMANCE Pressure Altitude And Density Altitude Pressure altitude is indicated altitude corrected for nonstandard pressure. It is determined by setting 29.92 in the altimeter
Integrating NLTK with the Hadoop Map Reduce Framework 433-460 Human Language Technology Project
Integrating NLTK with the Hadoop Map Reduce Framework 433-460 Human Language Technology Project Paul Bone [email protected] June 2008 Contents 1 Introduction 1 2 Method 2 2.1 Hadoop and Python.........................
PCM Encoding and Decoding:
PCM Encoding and Decoding: Aim: Introduction to PCM encoding and decoding. Introduction: PCM Encoding: The input to the PCM ENCODER module is an analog message. This must be constrained to a defined bandwidth
CENTRONICS interface and Parallel Printer Port LPT
Course on BASCOM 8051 - (37) Theoretic/Practical course on BASCOM 8051 Programming. Author: DAMINO Salvatore. CENTRONICS interface and Parallel Printer Port LPT The Parallel Port, well known as LPT from
Architecture Design & Sequence Diagram. Week 7
Architecture Design & Sequence Diagram Week 7 Announcement Reminder Midterm I: 1:00 1:50 pm Wednesday 23 rd March Ch. 1, 2, 3 and 26.5 Hour 1, 6, 7 and 19 (pp.331 335) Multiple choice Agenda (Lecture)
Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/
Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1
Technical Information. Digital Signals. 1 bit. Part 1 Fundamentals
Technical Information Digital Signals 1 1 bit Part 1 Fundamentals t Technical Information Part 1: Fundamentals Part 2: Self-operated Regulators Part 3: Control Valves Part 4: Communication Part 5: Building
SIGNAL GENERATORS and OSCILLOSCOPE CALIBRATION
1 SIGNAL GENERATORS and OSCILLOSCOPE CALIBRATION By Lannes S. Purnell FLUKE CORPORATION 2 This paper shows how standard signal generators can be used as leveled sine wave sources for calibrating oscilloscopes.
MSc in Autonomous Robotics Engineering University of York
MSc in Autonomous Robotics Engineering University of York Practical Robotics Module 2015 A Mobile Robot Navigation System: Labs 1a, 1b, 2a, 2b. Associated lectures: Lecture 1 and lecture 2, given by Nick
Op-Amp Simulation EE/CS 5720/6720. Read Chapter 5 in Johns & Martin before you begin this assignment.
Op-Amp Simulation EE/CS 5720/6720 Read Chapter 5 in Johns & Martin before you begin this assignment. This assignment will take you through the simulation and basic characterization of a simple operational
3D Interactive Information Visualization: Guidelines from experience and analysis of applications
3D Interactive Information Visualization: Guidelines from experience and analysis of applications Richard Brath Visible Decisions Inc., 200 Front St. W. #2203, Toronto, Canada, [email protected] 1. EXPERT
Tutorial for Tracker and Supporting Software By David Chandler
Tutorial for Tracker and Supporting Software By David Chandler I use a number of free, open source programs to do video analysis. 1. Avidemux, to exerpt the video clip, read the video properties, and save
Designing Event-Controlled Continuous Processing Systems Class 325
Designing Event-Controlled Continuous Processing Systems Class 325 by Hans Peter Jepsen, Danfoss Drives and Finn Overgaard Hansen, Engineering College of Aarhus [email protected] [email protected]
Software Life-Cycle Management
Ingo Arnold Department Computer Science University of Basel Theory Software Life-Cycle Management Architecture Styles Overview An Architecture Style expresses a fundamental structural organization schema
Vehicle data acquisition using CAN By Henning Olsson, OptimumG [email protected]
Vehicle data acquisition using By Henning Olsson, OptimumG [email protected] Introduction: Data acquisition is one of the best tools to increase the understanding of vehicle behavior. One can
Lab 8 Notes Basic Aircraft Design Rules 6 Apr 06
Lab 8 Notes Basic Aircraft Design Rules 6 Apr 06 Nomenclature x, y longitudinal, spanwise positions S reference area (wing area) b wing span c average wing chord ( = S/b ) AR wing aspect ratio C L lift
The evolution of DAVE
The evolution of DAVE The evolution of a large IDL application Data Analysis and Visualization Environment (DAVE) project. Richard Tumanjong Azuah Larry Kneller Yiming Qui John Copley Robert M Dimeo Craig
THE INPUT/OUTPUT SYSTEM. Key Points
M O D U L E T W O THE 2 INPUT/OUTPUT SYSTEM Key Points In the first module, you learned about the basic architecture and operation of the Allen-Bradley Micrologix 1000, including a brief introduction to
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
The Data Warehouse ETL Toolkit
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. The Data Warehouse ETL Toolkit Practical Techniques for Extracting,
Self-Balancing Robot Project Proposal Abstract. Strategy. Physical Construction. Spencer Burdette March 9, 2007 [email protected]
Spencer Burdette March 9, 2007 [email protected] Self-Balancing Robot Project Proposal Abstract This project will undertake the construction and implementation of a two-wheeled robot that is capable of balancing
PhidgetInterfaceKit 8/8/8
PhidgetInterfaceKit 8/8/8 Operating Systems: Windows 2000/XP/Vista, Windows CE, Linux, and Mac OS X Application Programming Interfaces (APIs): Visual Basic, VB.NET, C, C++, C#, Flash 9, Flex, Java, LabVIEW,
Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
MYTHBUSTING Takes on Shielded Cabling
MYTHBUSTING Takes on Shielded Cabling Herb Congdon Brian Davis Objectives Take on myths of shielded cabling and use modern-day science to show what's real and what's fiction - through trial and error actually
School of Computer Science
School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level
A UML Introduction Tutorial
A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software
Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology
Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room
Complex Event Processing (CEP) Why and How. Richard Hallgren BUGS 2013-05-30
Complex Event Processing (CEP) Why and How Richard Hallgren BUGS 2013-05-30 Objectives Understand why and how CEP is important for modern business processes Concepts within a CEP solution Overview of StreamInsight
Variable Base Interface
Chapter 6 Variable Base Interface 6.1 Introduction Finite element codes has been changed a lot during the evolution of the Finite Element Method, In its early times, finite element applications were developed
(Refer Slide Time 00:56)
Software Engineering Prof.N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-12 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue
APPENDIX 3-B Airplane Upset Recovery Briefing. Briefing. Figure 3-B.1
APPENDIX 3-B Airplane Upset Recovery Briefing Industry Solutions for Large Swept-Wing Turbofan Airplanes Typically Seating More Than 100 Passengers Briefing Figure 3-B.1 Revision 1_August 2004 Airplane
T0118 T2118 T3118. Instruction Manual
Programmable indoor transmitter of temperature T0118 Programmable indoor transmitter of atmospheric pressure T2118 Programmable indoor transmitter of temperature, relative humidity and other derived humidity
Mathematical Modelling of Computer Networks: Part II. Module 1: Network Coding
Mathematical Modelling of Computer Networks: Part II Module 1: Network Coding Lecture 3: Network coding and TCP 12th November 2013 Laila Daniel and Krishnan Narayanan Dept. of Computer Science, University
isim ACTIVE FILTER DESIGNER NEW, VERY CAPABLE, MULTI-STAGE ACTIVE FILTER DESIGN TOOL
isim ACTIVE FILTER DESIGNER NEW, VERY CAPABLE, MULTI-STAGE ACTIVE FILTER DESIGN TOOL Michael Steffes Sr. Applications Manager 12/15/2010 SIMPLY SMARTER Introduction to the New Active Filter Designer Scope
Instruction Manual. T3111 T3111L T3111P T3111Ex
www.cometsystem.cz Instruction Manual T3111 T3111L T3111P T3111Ex Programmable transmitter of temperature, relative humidity and other calculated humidity values with external probe and 4-20 ma outputs
Spotfire v6 New Features. TIBCO Spotfire Delta Training Jumpstart
Spotfire v6 New Features TIBCO Spotfire Delta Training Jumpstart Map charts New map chart Layers control Navigation control Interaction mode control Scale Web map Creating a map chart Layers are added
E190Q Lecture 5 Autonomous Robot Navigation
E190Q Lecture 5 Autonomous Robot Navigation Instructor: Chris Clark Semester: Spring 2014 1 Figures courtesy of Siegwart & Nourbakhsh Control Structures Planning Based Control Prior Knowledge Operator
Clock Recovery in Serial-Data Systems Ransom Stephens, Ph.D.
Clock Recovery in Serial-Data Systems Ransom Stephens, Ph.D. Abstract: The definition of a bit period, or unit interval, is much more complicated than it looks. If it were just the reciprocal of the data
Compliance and Requirement Traceability for SysML v.1.0a
1. Introduction: Compliance and Traceability for SysML v.1.0a This document provides a formal statement of compliance and associated requirement traceability for the SysML v. 1.0 alpha specification, which
fakultät für informatik informatik 12 technische universität dortmund Data flow models Peter Marwedel Informatik 12 TU Dortmund Germany
12 Data flow models Peter Marwedel Informatik 12 TU Dortmund Germany Models of computation considered in this course Communication/ local computations Communicating finite state machines Data flow model
File Management. Chapter 12
Chapter 12 File Management File is the basic element of most of the applications, since the input to an application, as well as its output, is usually a file. They also typically outlive the execution
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,
Digital Electronics Detailed Outline
Digital Electronics Detailed Outline Unit 1: Fundamentals of Analog and Digital Electronics (32 Total Days) Lesson 1.1: Foundations and the Board Game Counter (9 days) 1. Safety is an important concept
LAB 6: GRAVITATIONAL AND PASSIVE FORCES
55 Name Date Partners LAB 6: GRAVITATIONAL AND PASSIVE FORCES And thus Nature will be very conformable to herself and very simple, performing all the great Motions of the heavenly Bodies by the attraction
Welcome to this presentation on LED System Design, part of OSRAM Opto Semiconductors LED 101 series.
Welcome to this presentation on LED System Design, part of OSRAM Opto Semiconductors LED 101 series. 1 To discuss the design challenges of LED systems we look at the individual system components. A basic
Operational Amplifier - IC 741
Operational Amplifier - IC 741 Tabish December 2005 Aim: To study the working of an 741 operational amplifier by conducting the following experiments: (a) Input bias current measurement (b) Input offset
XGIG 8.5 Gb/s FIBRE CHANNEL ANALYZER High-Performance Protocol Analysis for 1.065, 2.125, 4.25, and 8.5 Gb/s Fibre Channel
DATA SHEET XGIG 8.5 Gb/s FIBRE CHANNEL ANALYZER High-Performance Protocol Analysis for 1.065, 2.125, 4.25, and 8.5 Gb/s Fibre Channel BENEFITS Time-sync of up to 64 channels traffic Support 1.065, 2.125,
A Proposal for OpenEXR Color Management
A Proposal for OpenEXR Color Management Florian Kainz, Industrial Light & Magic Revision 5, 08/05/2004 Abstract We propose a practical color management scheme for the OpenEXR image file format as used
White Paper. How Streaming Data Analytics Enables Real-Time Decisions
White Paper How Streaming Data Analytics Enables Real-Time Decisions Contents Introduction... 1 What Is Streaming Analytics?... 1 How Does SAS Event Stream Processing Work?... 2 Overview...2 Event Stream
Hardware In The Loop Simulator in UAV Rapid Development Life Cycle
Hardware In The Loop Simulator in UAV Rapid Development Life Cycle Widyawardana Adiprawita*, Adang Suwandi Ahmad = and Jaka Semibiring + *School of Electric Engineering and Informatics Institut Teknologi
System Modeling and Control for Mechanical Engineers
Session 1655 System Modeling and Control for Mechanical Engineers Hugh Jack, Associate Professor Padnos School of Engineering Grand Valley State University Grand Rapids, MI email: [email protected] Abstract
The Java I/O System. Binary I/O streams (ascii, 8 bits) The decorator design pattern Character I/O streams (Unicode, 16 bits)
Binary I/O streams (ascii, 8 bits) InputStream OutputStream The Java I/O System The decorator design pattern Character I/O streams (Unicode, 16 bits) Reader Writer Comparing Binary I/O to Character I/O
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
Computer Networks. Data Link Layer
Computer Networks The Data Link Layer 1 Data Link Layer Application Transport Network DLL PHY 2 What does it do? What functions it performs? Typically: Handling transmission errors, a.k.a., error control.
Fourth generation techniques (4GT)
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
TCOM 370 NOTES 99-6 VOICE DIGITIZATION AND VOICE/DATA INTEGRATION
TCOM 370 NOTES 99-6 VOICE DIGITIZATION AND VOICE/DATA INTEGRATION (Please read appropriate parts of Section 2.5.2 in book) 1. VOICE DIGITIZATION IN THE PSTN The frequencies contained in telephone-quality
Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure
Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure Micah Dowty University of Colorado at Boulder [email protected] March 26, 2004 Abstract Traditional software development
Module 5. Broadcast Communication Networks. Version 2 CSE IIT, Kharagpur
Module 5 Broadcast Communication Networks Lesson 1 Network Topology Specific Instructional Objectives At the end of this lesson, the students will be able to: Specify what is meant by network topology
