Project Discussion CSCI 599 – Software Engineering for Embedded Systems September 17, 2002.

Slides:



Advertisements
Similar presentations
Chapter 2: Data Manipulation
Advertisements

Methods Java 5.1 A quick overview of methods
PIPELINE AND VECTOR PROCESSING
Section 7.1 The Inverse Sine, Cosine, and Tangent Functions.
Functions. COMP104 Functions / Slide 2 Introduction to Functions * A complex problem is often easier to solve by dividing it into several smaller parts,
E ngineering College of San Jose State University Engr.10 1 JKA & KY.
Maths & Trig, Statistical functions. ABS Returns the absolute value of a number The absolute value of a number is the number without its sign Syntax ◦
Instruction Set Issues MIPS easy –Instructions are only committed at MEM  WB transition Other architectures are more difficult –Instructions may update.
Chapter 4: Graphing & Inverse Functions
The Inverse Trigonometric Functions Section 4.2. Objectives Find the exact value of expressions involving the inverse sine, cosine, and tangent functions.
Bell Work: What is one way to determine the magnitude and direction when you are dealing with vectors?
10 PLC Math Instructions. 10 PLC Math Instructions.
Graphs of Trig Functions
03/11/20021 PRISM Programming in the Small and Many Nenad Medvidovic Marija Mikic-Rakic
BIL101, Introduction to Computers and Information Systems Chapter 12 A Portable Scientific Visualization Program: GnuPlot Prepared by Metin Demiralp Istanbul.
Introduction to the Class Project and Computing Facilities CSCI 599 – Software Engineering for Embedded Systems September 3, 2002.
1 Expressions, Operators Expressions Operators and Precedence Reading for this class: L&L, 2.4.
1 Data types, operations, and expressions Continued l Overview l Assignment statement l Increment and Decrement operators l Short hand operators l The.
Raptor Mr. Lau Ka Lun Lai King Catholic Secondary School.
10.3 Verify Trigonometric Identities
Evaluate each inverse trigonometric function.
1 CS101 Introduction to Computing Lecture 35 Mathematical Methods (Web Development Lecture 12)
Christopher Paolini Computational Science Research Center College of Engineering San Diego State University Computational Science 670 Fall 2009 Monday.
EG280 - CS for Engineers Chapter 2, Introduction to C Part I Topics: Program structure Constants and variables Assignment Statements Standard input and.
Adding and Subtracting Integers To add integers with the same sign, add their absolute values and then change the sign to the sign of the addends. Positive.
Solve . Original equation
MFM 2P Review – Core Skills Learning Goals: I can round whole numbers and integers I can convert from a percent to a decimal I can convert a number into.
1 Type I: Subnets and hosts/subnet. How many subnets are supported? How many hosts are provided per subnet? Type II: All other problems. In which subnet.
CHAPTER 5 FORCES IN TWO DIMENSIONS
Computing Infrastructure for Large Ecommerce Systems -- based on material written by Jacob Lindeman.
Design and run-time bandwidth contracts for pervasive computing middleware Peter Rigole K.U.Leuven – Belgium
Super computers Parallel Processing By Lecturer: Aisha Dawood.
Sequencing Shuffle the cards and place in a pile with the numbers facing down. Order the cards from 0 to 11. How fast can you do this?
Zero Pair When one positive counter is paired with one negative counter.
Graphs of the Trig Functions Objective To use the graphs of the trigonometric functions.
(x, y) (x, - y) (- x, - y) (- x, y). Sect 5.1 Verifying Trig identities ReciprocalCo-function Quotient Pythagorean Even/Odd.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 4 Computer Systems Review.
Modularity Computer Science 3. What is Modularity? Computer systems are organized into components called modules. The extent to which this is done is.
Virtualization Technology and Microsoft Virtual PC 2007 YOU ARE WELCOME By : Osama Tamimi.
By: Cheryl Mok & Sarah Tan. Java is partially interpreted. 1. Programmer writes a program in textual form 2. Runs the compiler, which converts the textual.
Doing math In java.
Introduction to Performance Testing Performance testing is the process of determining the speed or effectiveness of a computer, network, software program.
C Language 1 Program Looping. C Language2 Topics Program looping Program looping Relational operators / expressions Relational operators / expressions.
1 © 2010 Pearson Education, Inc. All rights reserved © 2010 Pearson Education, Inc. All rights reserved Chapter 4 Trigonometric Functions.
MATLAB (Matrix Algebra laboratory), distributed by The MathWorks, is a technical computing environment for high performance numeric computation and.
Speed! Review Game Topic: Trigonometry. 100 pts find sin, cos, tan, csc, sec, and cot.
Think Automation and beyond… FT1A Script Programming.
Then/Now You used sum and difference identities. (Lesson 5-4) Use double-angle, power-reducing, and half-angle identities to evaluate trigonometric expressions.
S UM AND D IFFERENCE I DENTITIES Objective To use the sum and difference identities for the sine, cosine, and tangent functions Page 371.
Floating Point Representations
Naming for Mobile Systems
Solving 2 step equations
Adding, Subtracting, Multiplying, and Dividing Integers
Chapter 11 Heap.
Self Healing and Dynamic Construction Framework:
Fundamental of Java Programming Basics of Java Programming
Introduction to Networks
Meng Cao, Xiangqing Sun, Ziyue Chen May 28th, 2014
Math Basics AF 1.3.
Sum and Difference Identities
8/8/17 Warm Up Solve the inequality.  .
Storage Networking Protocols
1-7 Adding and Subtracting Integers
With Assignment Operator
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
Suggested Project Timeline
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Morgan Kaufmann Publishers Arithmetic for Computers
Lecture 4a Mobile IP 1.
Presentation transcript:

Project Discussion CSCI 599 – Software Engineering for Embedded Systems September 17, 2002

Project Structure 8 teams of 3 students All teams working on the same project 1 PocketPC per student with wireless network card Prism-MW –Java –EVC++ (if desired) Prism-DE (if desired)

Project Details Service discovery during disconnection –Goal: graceful degradation Each device provides and requires different sets of services Each service is provided and required by multiple devices When a device goes down, the services it provides must be discovered and accessed from “live” devices

Application “Look and Feel” (1) Number 1: Number 2: Result: Add Sub Mult Div Exp Root Max Min Inv Avg Log Ln Sin Cos Tan Cot Operations with two operands (x and y) Add sums x and y Sub subtracts y from x Mult multiplies x and y Div divides x by y Exp raises x to power of y Root takes y th root of x Max returns greater of x and y Min returns smaller of x and y Avg returns average of x and y Operations with one operand (x) Inv returns inverse of x (1/x) Log returns base 10 logarithm of x Ln returns natural logarithm of x Sin returns sine of x Cos returns cosine of x Tan returns tangent of x Cot returns cotangent of x

Application “Look and Feel” (2) Service = Available Locally Service = Available Remotely Service = Unavailable = Not Needed by Device Number 1: Number 2: Result: Add Sub Div Exp Root Max Min 1/x Avg Log Ln Sin Cos

Application Architecture – Single Device UI Regular Connector Bottom Border Connector Top Border Connector Math Request Notification Result (Float num); Oper(Float num1); Oper(Float num1, Float num2);

Application Architecture – Two-Device UI Regular Connector Bottom Border Connector Top Border Connector Math UI Regular Connector Bottom Border Connector Top Border Connector Math

Application Architecture – Multi-Device UI Regular Connector Bottom Border Connector Top Border Connector Math UI Regular Connector Bottom Border Connector Top Border Connector Math UI Regular Connector Bottom Border Connector Top Border Connector Math UI Regular Connector Bottom Border Connector Top Border Connector Math

Device and Service Discovery Protocol Device discovery –Requests DiscoverDevices(); // may not stay connected to discovered device(s) ConnectDevice(String deviceID); DisconnectDevice(String deviceID); –Notifications Device(String deviceID); DeviceDown(String deviceID); Service discovery –Requests DiscoverAllDeviceServices(String deviceID); DiscoverDeviceService(String deviceID, String name); DiscoverService(String name); –Notifications AllDeviceServices(String deviceID, Vector names); Service(String deviceID, String name);

Resource Awareness CPU speed –Requests SetCPUSpeed(String deviceID; Integer speed); GetCPUSpeed(String deviceID); –Notifications CPUSpeed(String deviceID; Integer speed); Network Throughput –Requests SetNetworkThroughput(String deviceID; Integer throughput); GetNetworkThroughput(String deviceID); –Notifications NetworkThroughput(String deviceID; Integer throughput);

Device Load CPU load –Requests GetCPULoad(String deviceID); –Notifications CPULoad(String deviceID; Integer load); –Load = # services executed locally / second –Updated continuously during the application’s execution Network Load (per socket) –Requests GetNetworkLoad(String deviceID); –Notifications NetworkLoad(String deviceID; Integer load); –NetworkLoad = # messages through socket / second –Updated continuously during the application’s execution

Allowed Dynamic Changes Sets of provided and required services may change during runtime –Components may be added/removed on a device add, remove, weld, unweld methods in Prism-MW –Devices may be added/removed –UI component may be instructed to modify list of required services Requests –AddRequiredService(String service); –RemoveRequiredService(String service); –ReplaceRequiredServices(Vector services);

Testing Criteria 1.Access required services locally (5 pts) 2.Access required services from a known remote host (10 pts) 3.Discover and access services in a decentralized setting (15 pts) Single requiring device Origin of service is unimportant 4.#3, but most efficiently (15 pts) Find devices that have the service Select optimal service provision devices based on CPUSpeed, CPULoad, NetworkThroughput, and NetworkLoad of the provision device 5.#4, but for multiple devices simultaneously (25 pts) 6.#5, but with trusted devices being added (20 pts) 7.Documentation (10 pts) 8.#5, but with potentially untrusted (your opponents’) devices being added (up to 30 pts extra credit) Denying access to own services and accessing services denied by opponents Security “tricks” allowed, but no IP address known a priori and team id information assigned “on the spot”

What Will Be Provided at Demo Time Test application PDAs to load up the code –IP addresses, etc. Team ID Updated Prism-MW to “fairly” simulate speed of execution based on CPUSpeed, CPULoad, NetworkThroughput, and NetworkLoad Distribution of application components across the devices –Both provided and required services

Winning the Game Four pairs of teams take part in the “quarterfinals” Winners are determined based on two criteria – in order of importance 1.Smallest number of unserviced requests due to disconnection 2.Fastest execution time Winners move on until one team is left –In case of a tie, both teams move on –10 pts per win