1. Middleware service for Ubiquitous Computing Applications (a specific type of distributed systems) 2. A Middleware service for Ubiquitous Computing Applications 3. An application using the above middleware and middleware service 1 Outline for 1 and 2 Motivation State of art and Background Our approach Illustrative example Evaluation Implementation Simulation Conclusions on the test bed tools and Future research 2 Motivation Ubiquitous Computing (Ubicomp) environments - Computing everywhere - Vast number of embedded, wearable, and hand-held devices Short range wireless capability Some devices are not reachable directly from others Mostly devices are mobile Devices have low power, hence less computation Use of on board sensors - Transparent and context-aware communication - Neighbor-to-neighbor communication (communication range) - Applications operating in ubicomp usually exhibits: Context sensitivity Ad hoc communication 3 Concepts and Terminologies Context - Any detectable and relevant attribute of a device, its interaction with other devices and/or its surrounding environment at an instant of time. - Example: (battery) power, light intensity, location Situation - Any action taken by the device over a period of time that is of interest to the device, and/or variation of a set of contexts over a period of time. - Example: During the last two hours, the battery power has reduced by 10% and no recharge action has taken place. 4 Concepts and Terminologies (cont.) Information dissemination - Distribution of information from a device to a set of devices in any computing environment. Situation-aware information dissemination - Distribution of information based on context and/or situation. - Example: Shopper’s device looks for deals when the device is inside shopping mall. 5 State of Art Directed diffusion, USC - use flooding, infrastructure less network, does not support mobility of devices and no support for situation-awareness SPIN (Sensor protocols for information via negotiation), MIT - requires prior knowledge of the network, use flooding for data negotiation and no support for situation-awareness Profile based information dissemination, University of Toronto - fixed infrastructure based wireless network, use profile for information dissemination 6 Background Reconfigurable Context-sensitive Middleware (RCSM), ASU - Supports situation-awareness - Supports context-sensitivity * Ability of the device to detect current context and changes in contextual data * Ability to capture and analyze context and interrelationship between users’ actions and devices Addition of information dissemination service (IDS) to RCSM 7 Information Dissemination Service (IDS) in RCSM Situation-Aware Application Objects RCSM Information RCSM Ephemeral Group Communication Service Dissemination Service Other Services Core Components Adaptive Object Containers (ADCs) [Providing awareness of situation] Operating System Optional Components Object Request Broker (R-ORB) [Providing transparency over ad hoc communication] Transport Layer Protocols for Ad Hoc Networks Sensors 8 Addition of Information Dissemination Service in a Ubicomp Environment using RCSM IDS IDS Information dissemination RCSM RCSM PDA Laptop IDS IDS RCSM RCSM IDS PDA RCSM Laptop PDA IDS Wireless link IDS RCSM Laptop RCSM PDA 9 Features of Information Dissemination Service (IDS) 1) Unknown destination: A distant device is not reachable from a source device. 2) Situation-aware: Ubicomp applications distribute information based on situation . 3) Multi-hop: In ubicomp environment, a device has short-range wireless capability. 4) Mobility: In ubicomp environment, devices are mobile. 10 Features of IDS (cont.) 5) Loop free: Same information does not create unnecessary flooding. 6) Energy efficient: The devices in ubicomp environment operate on battery. 7) Decentralized: Information dissemination mechanism for ubicomp should be decentralized, since the devices are mobile (joins and leaves at their will). 8) Equality: Information dissemination mechanism should be equal for each device. 11 Features of IDS (cont.) 9) Locality: Each device is able to manage itself and to coordinate with others based on local information for information dissemination. 10) Self-containment: Every device is selfcontained in functions to manage itself and coordinate with others for information dissemination. 12 Our Approach to Information Dissemination Step1 A device wants to disseminate information Step2 No Wants response? Information dissemination without response Yes Information dissemination with response A Step3 B 13 Our Approach to Information Dissemination (cont.) Step1) A Associate communication primitives with coordination states Step4 Use SA-IDL and SA-ADC to develop Application with IDS B Step5 Any device wants to disseminate information? Yes Add coordination rules No A End Step6 14 Example: A Shopping Mall Shoppers have their own PDAs. Shops and shopping mall authority have computing devices - Desktop computers (DCs), with wireless connections to PDAs. These devices collaborate by dynamically forming short range mobile ad hoc networks A shopper wants to know all the deals of a specific item when inside the shopping mall 15 Example 1: A Shopping Mall Shoppers have their own PDAs. Shops and shopping mall authority have computing devices - Desktop computers (DCs), with wireless connections to PDAs. These devices collaborate by dynamically forming short-range mobile ad-hoc networks A shopper wants to know all the deals of a specific item when inside the shopping mall 16 Example: A Shopping Mall (cont.) - 9 devices in the shopping mall, {D1, D2, D3,………D9}. - D1 is a PDA, and D2, D3, D4,. D9 are DCs. - Neighbors of D1 are D2, D3, D7, and expressed as N(D1) = {D2, D3, D7}. - Similarly, others DCs: N(D2)={ D1, D4, D7}, N(D3)={ D1 , D5, D7}, … N(D9)={ D5 , D7 }. - D1, D2, D3, D4, D5, D7, and D9 have RCSM, including the add-on information dissemination service. - D6 and D8 not have RCSM, and hence D6 and D8, cannot participate in information dissemination. 17 Information Dissemination in A Shopping Mall CS1 CS2 CS2 CS2 CS1 CS2 D4 CS1 CS3 D6 D1 D2 CS1 CS3 CS2 D3 CS2 CS1 CS1 CS3 CS2 CS1 CS1 CS3 CS2 CS1 D7 CS2 D5 D8 CS2 D9 CS2 CS2 CS1 CS1 CS3 Coordination state is sent to neighbors Device has RCSM Device does not have RCSM Information is sent to only those who has middleware Receiving search result 18 Step 1-3 Step 1) - Shopper’s PDA D1 is the single information dissemination source. -When inside the shopping mall, the shopper’s PDA triggers information dissemination. Step 2) No need for Step 2 because information dissemination needs response. Step 3) -Shopper distributes query and wants to know all deals -- information dissemination with response. 19 Step 3: Mechanism for Information Dissemination in A Shopping Mall Coordination states: - CS1: uploading query - CS2: downloading query - CS3: uploading deals Coordination rules: - Rule 1: CS2 CS1, downloading query to uploading query - Rule 2: CS1 CS3, uploading query to uploading deals 20 Step 3: Mechanism for Information Dissemination in A Shopping Mall (cont.) a) D1 sends its coordination state CS1 to all of its neighboring devices D2, D3, and D7. b) - D2 receives CS1 from D1 and checks its coordination rule and find a state match in Rule 1. - D2 requests D1 to send query for all deals information. - D2 receives information and changes its coordination state to CS1. - D3 and D7 receive information. This is repeated for each device - Information is distributed from D1 to D2, D3, D7;, D7 to D9; D2 to D4;,, D3 to D5. 21 Step 3: Mechanism for Information Dissemination in A Shopping Mall (cont.) c) D7 can receive information from D1, D2 or D3. -Path D1 to D7 is chosen since D7 receives coordination state first. d) D2 moving out of vicinity of its neighbors and is out of communication range of its neighbors. - D2 distributes its coordination states to its neighbors. - D4 changes its state back to CS1 and receives information from D7. 22 Step 4: Associate Coordination States with Communication Primitives Basic communication primitives: Send, receive, forward, wait Coordination State Communication primitives Uploading the query Send, receive Uploading the deals Send, receive Downloading the query Send, receive 23 Step 5: Use of SA-IDL for Information Dissemination RCSM_Context context1 { string location; } ActionTuple action1 { string action_name; } interface ShoppingMall [‘S’, ‘P’, ‘M’]{ Situation s1{ //shopper is In Mall currently (ForAny t in [0,0]) context1.location = “ShoppingMall” } Situation s2{ //shopper was Outside one minute ago (ForAny t in [-2,-1]) context1.location <> “ShoppingMall”} Situation s3 { // shopper’s device has not queried for last 30 minutes (ForAny t in [-30, 0] action1.action_name <> “FindDeals”} Situation s4{ // go query s1 and s2 and s3 } [outgoing] [activate at situation s4 ] void FindDeals() ;} 24 Example 2: Football stadium People using their PDAs to communicated in a football stadium When someone enters into the stadium, his PDA to distribute information about some player to other the people. 25 Information Dissemination in A Football Stadium CS2 CS1 - 9 devices in the Smart classroom, CS1 CS2 D1 D2 {D1, D2, D3,………D9}. CS2 CS2 D4 CS1 D6 CS2 D3 CS2 CS1 CS2 CS1 CS1 - Neighbors of D1 D7 CS2 D5 D8 CS2 CS1 CS2 D9 CS2 CS2 CS1 Coordination state is sent to neighbors Device has RCSM Device does not have RCSM - D1 is a PDA, and D2, D3, D4,. D9 are DCs. Information is sent to only those who has middleware Receiving search result N(D1) = {D2, D3, D7}. - Similarly, others DCs: N(D2)={ D1, D4, D7}, N(D3)={ D1 , D5, D7}, … N(D9)={ D5 , D7 }. - D1, D2, D3, D4, D5, D7, and D9 have RCSM, including the add-on information 26 dissemination service. Step 1-3 Step 1) - Someone’s PDA D1 is the single information dissemination source. - When someone enters in the stadium and his PDA to distribute information about some player to other people. Step 2) Information dissemination without response. -Someone’s PDA distributes information Step 3) No need for Step 3 because information dissemination needs no response. 27 Step 3: Mechanism for Information Dissemination in a Football Stadium Coordination states: - CS1: uploading info - CS2: downloading info Coordination rules: - Rule 1: CS2 CS1, downloading to uploading 28 Step 3: Mechanism for Information Dissemination in Football Stadium (cont.) a) D1 sends its coordination state CS1 to all of its neighboring devices D2, D3, and D7. b) - D2 receives CS1 from D1 and checks its coordination rule and find a state match in Rule 1. - D2 requests D1 to send information - D2 receives information and changes its coordination state to CS1. - D3 and D7 receive information. This is repeated for each device - Information is distributed from D1 to D2, D3, D7;, D7 to D9; D2 to D4;,, D3 to D5. 29 Step 3: Mechanism for Information Dissemination in Football Stadium (cont.) c) D7 can receive information from D1, D2 or D3. -Path D1 to D7 is chosen since D7 receives coordination state first. d) D2 moving out of vicinity of its neighbors and is out of communication range of its neighbors. - D2 distributes its coordination states to its neighbors. - D4 changes its state back to CS1 and receives information from D7. 30 Step 4: Associate Coordination States with Communication Primitives Basic communication primitives: Send, receive, forward, wait Coordination State Communication primitives Uploading Send, receive Downloading Send, receive 31 Step 5: Use of SA-IDL for Information Dissemination RCSM_Context context1 { string location; } ActionTuple action1 { string action_name; } interface Stadium[‘S’, ‘D’, ‘B’]{ Situation s1{ //In stadium (ForAny t in [0,0]) context1.location = “Stadium” } Situation s2{ //Outside one minute ago (ForAny t in [-2,-1]) context1.location <> “Stadium”} Situation s3 { // device has not distribute for last 30 minutes (ForAny t in [-30, 0] action1.action_name <> “DistributeInfo()”} Situation s4{ // go query s1 and s2 and s3 } [outgoing] [activate at situation s4 ] void DistributeInfo()”;} 32 Total Messages (Y)in IDS Y (n 1) * l s * n(m 1) n is the total number of devices l is the length of message s length of short message m is the average number of neighbors of each device If l >> s, we get the complexity O(n) 33 Energy Consumption Models in IDS Use Feeney and Nilsson’s energy consumption models based on their empirical results of 802.11b radios Energy send msend Siz send bsend Energy receive mrecv Siz receive brecv b send energy consumptions due to send for fixed data packets m send energy consumptions due to send for incremental data packets Siz send size of data packets 34 Evaluation Demonstration on Test bed Small number of devices Simulation tools Large number of devices 35 Architecture of Information Dissemination Service (IDS) Application Application File service IDS State Processor Coordination Transport Engine Input processor State Table Rule Table Rule processor Address Pool Adaptive Object Container (ADC) R-ORB 36 IDS service and Demo Application Demo App/ Situation-Aware Application Objects File transfer service Information Dissemination Service (IDS) (ADCs) Object Request Broker (R-ORB) Transport Layer Protocols for Ad Hoc Networks Demo App/ Situation-Aware Application Objects File transfer service Information Dissemination Service (IDS) (ADCs) Object Request Broker (R-ORB) Transport Layer Protocols for Ad Hoc Networks 37 IDS service and Demo (Announcement) Application IDS service Demo(Announcement) Application 38 Experimental Set up (Device Configurations) Casio E-200 PDAs Intel Strong Arm 1110 with 206 MHz clock speed CPU. Flash ROM 32 MB RAM 64 MB D-LINK Air DCF-660W Compact Flash 802.11b adapter. Configured in mobile ad hoc network 39 Experimental Results from the Demonstration on the Test bed Number of threads: 5 Lines of code:10000 Executable file size: 138 KB Maximum size of the message: 972 bytes Delay(Response time): 7800unit [1 unit 100 nano sec] Throughput: 66.30 bytes/sec Power consumption: shown in next slide 40 Power Drain out in % Power drain out in % % power remaining 120 100 80 Normal IDS running 60 40 20 0 0 10 20 30 40 50 Time in minutes 41 Power Drain out (in milli watt) Power Drain out Remaining power 16000 14000 12000 10000 Normal 8000 6000 IDS running 4000 2000 0 0 10 20 30 40 50 Time in minutes 42 Text Based Simulation Tool 43 GUI Based Simulation Tool 44 Experimental Results from Simulation Message Sum m ary (5% off) 14000 12000 Messages 10000 8000 6000 4000 2000 0 10 20 50 100 200 500 1000 Broadcast 54 247.2 779.6 920.4 2617.2 5442.8 11326.8 (CS) Short 58.8 251 623.2 964 2664.2 5601.6 11687.2 (CS) Long 8.4 17.8 36.8 93.4 187.8 470.6 946.6 Nodes 45 Experimental Results from Simulation Message Sum m ary (10% off) 12000 10000 Messages 8000 6000 4000 2000 0 10 20 50 100 200 500 1000 Broadcast 56 226 732.4 931.2 2573.6 5587.6 11308.8 (CS) Short 57.6 226.6 705.4 925.2 1984 4389.2 11110 (CS) Long 8 17.2 44.4 88.6 142.4 357.8 902.8 Nodes 46 Experimental Results from Simulation Message Sum m ary (20% off) 12000 10000 Messages 8000 6000 4000 2000 0 10 20 50 100 200 500 1000 Broadcast 52 258.4 768.8 919.6 2581.2 5542.4 11282.8 (CS) Short 34.8 145.4 516.6 656.6 1769.4 4813.2 9834.8 (CS) Long 4.8 10.4 31.4 62.4 126.6 398.8 801.4 Nodes 47 Experimental Results from Simulation Power Devices VS Power 1400000 1200000 1000000 800000 600000 400000 200000 0 -200000 0 Broadcasting AC 50 100 150 Number of Devices 48 Impact of IDS File transfer service in RCSM test bed, announcement in Smart classroom Football stadium Shopping mall Hospital Construction management Environment monitoring Sensor networks Disaster relief 49 Summary of Contribution IDS for Ubicomp Applications with the following characteristics Destination unknown Energy efficient Situation-aware Locality Multi hop Self contained Mobility of the devices Equality Loop free Decentralized 50 Discussions Information dissemination service (IDS) for ubicomp applications Experimental results show our approach is much better than broadcasting Currently implemented in Windows CE environment -Platform Builder 3.0 -Embedded Visual studio 3.0 -CASSIOPEIA E-200 PDA -RCSM is installed on each PDA -IDS is an add-on module to RCSM. 51 Future Directions for IDS Develop real-time IDS for Ubicomp applications. Security, and other QoS of information dissemination service in ubicomp environments Develop fault tolerant IDS for distributed mobile adhoc applications. IDS with other types of networks IDS for sensor networks IDS for monitoring systems 52 End of Middleware and IDS For further information: www.eas.asu.edu/~rcsm 53 3. An ApplicationSmart Classroom: Enhancing Collaborative Learning Using Pervasive Computing Technology Stephen S. Yau, Sandeep K. S. Gupta, Fariaz Karim, Sheikh I. Ahamed, Yu Wang, and Bin Wang,"Smart Classroom: Enhancing Collaborative Learning Using Pervasive Computing Technology", Proc. of American Society of Engineering Education 2003 Annual Conference, June 2003. 54 Outline for 3: application Introduction Background and state of art Our approach Functionalities of Smart Classroom Some scenarios Illustrative example Software Packages Conclusions and future work 55 Pervasive (or Ubiquitous) Computing Technology Computing and communication essentially transparent to the users Embedded, wearable, and handheld devices - wirelessly connected, possibly to fixed network infrastructures such as the Internet Major characteristics: - situation-awareness: • “What’s going on?” in its surroundings. - ad hoc group communications: • multiple devices dynamically form networks to facilitate collaborative computing 56 Smart Classroom Facilitating collaborative learning among college students Students form small groups to solve a specific problem or develop a group project Each student has a situation-aware PDA (location, noise, light, and mobility) Students' PDAs dynamically form mobile ad hoc networks for group meetings Situation triggering communication 57 What is Collaborative Learning? creates an environment that the instructor involves students in solving problems and reaches students who otherwise might not be engaged encourages active student participation in the learning or small group learning. every student learns from everyone else, no student is deprived of the opportunity for making contributions 58 Characteristics of Collaborative Learning S1) Sharing knowledge: the instructor shares his/her knowledge with students, and students share their knowledge with others S2) Mediation: the instructor participates in the discussions to give feedback or advice to students S3) Heterogeneity: heterogeneous perspectives, experiences, and backgrounds of all students enrich learning 59 Characteristics of Collaborative Learning and Our Smart Classroom S1 addresses relationships between the instructor and students S2 characterizes instructor’s approaches S3 addresses the composition of a collaborative classroom Our Smart Classroom enhances all of the above(S1-S3) Student Instructor PDA Context sensor Our Smart Classroom. 60 State of Art Interactive Classroom - a virtual whiteboard, electronic textbook, and the World Wide Web for in-class discussions [SDSU] Smart Kindergarten - uses sensor data collected from children or toys to review children’s activities and track their learning progress [UCLA] Classroom 2000 - captures classroom context (teaching material or student notes) to automatically generate Webaccessible multimedia [GATECH] 61 State of Art Classroom with Handheld devices - developed a system for test taking using handheld devices [CMU] Smart Classroom - use pervasive computing technology - enhances collaborative learning among college students [ASU] 62 Major Features of Our Smart Classroom Situation-Aware Interactions among PDAs - use our RCSM to provide situation-aware interactions among PDAs - This feature addresses S1). Ephemeral Group Formation and Communication - Depending on the current situation, the PDAs in the classroom form groups - Situations are the location of the current classroom, class schedule, and availability of other group members - Groups are dissolved as soon as the group-forming situations are no longer needed. - This feature addresses S1) and S3). 63 Major Features of Our Smart Classroom (cont.) -An instructor’s PDA can dynamically join a student group to monitor and evaluate the group’s progress provide timely feedbacks -This feature addresses S2). 64 RCSM Architecture in Our Smart Classroom Test Bed Situation-Aware Application Objects RCSM Information RCSM Ephemeral Group Communication Service Dissemination Service Other Services Core Components Adaptive Object Containers (ADCs) [Providing awareness of situation] Operating System Optional Components Object Request Broker (R-ORB) [Providing transparency over ad hoc communication] Transport Layer Protocols for Ad Hoc Networks Sensors 65 Functionalities of Smart Classroom Applications i) For a single student a) reminds the student of his/her homework and class schedule based on current time and current location b) synchronize the lecture notes between a student’s PDA and desktop computer before and after class ii) For instructor/TA a) synchronizes the lecture notes between instructor or TA’s PDA and desktop computer before and after class, since desktop computers have the original lecture notes 66 Functionalities of Smart Classroom Applications iii) For student-to-student communication a) enables students to exchange and share their documents. b) enables students synchronize document among their PDAs. iv) For instructor/ TA-to-students communication a) distributes teaching material (lecture notes/survey forms/grade sheet/course schedule) from instructor or TA to all students at proper situations, -such as: at the beginning of a class, when light is 67 dimmed and noise is low. Functionalities of Smart Classroom Applications b) - creates exams for students and groups - sends exams to the students and groups and collect answers, grade - sends the grade back to the students v) For student-to-instructor/TA communication a) - facilitates students to store their questions or concerns in text format in their PDAs. -When the instructor or TA is available (in classroom), the questions are automatically transferred to the instructor or TA’s PDA. 68 Functionalities of Smart Classroom Applications b) - submit their progress report in a similar way -At the end of a class, their reports are submitted to the instructor or TA automatically c) make appointments with the instructor using their PDAs to send the request to the instructor’s PDA d) write answers of the exams and send answers to the instructor e) run and display their homework on the PDAs and project it on the screen 69 Some Scenarios from Smart Classroom Scenario 1: Group discussion Scenario 2: Distribution of lecture slides 70 Scenario 1: Group Discussion 1) 2) 3) 4) 5) 6) At least two group members in the classroom start to form a group. Additional students coming in to join the group. Groups are formed. Instructor moves around student groups. Some students leave during discussion. Discussion session finishes. 71 Step1: Start Forming Groups Context: • Two or more group members in proximity • Time is up to form groups RCSM: •Sense context •Recognize other devices •Select device leader •Device leader initiates the group communication 72 Step2: Additional Students Join Groups Context: •Time for forming the group •Additional student in a group is at the location of the group RCSM: •Sense context •Recognize other devices •Discover group Action: •Additional student joins the group. 73 Step3: Groups are Formed Group2 Group1 Group4 Group3 74 Step 4: Instructor Moving around Situation: Student Groups •During group discussion, instructor moving to group1 Group1 Group2 Group3 Group4 RCSM: •Sense location •Detect devices in vicinity •SAEG service Action: •Instructor’s PDA is downloading group 1’s discussion 75 Step 5: Some Students Leaving During Discussion Group2 Context: •Some students are not at the locations of their groups Group1 Group4 Group3 RCSM: •Sense context •Delete the students from their groups •SAEG service 76 Step 6: Discussion Session Finishes Context: •Time is up to finish discussion or discussion completed RCSM: •Group meeting terminates 77 Scenario 2: Distributing Presentation Slides Context: •Instructor is near the screen (location) •The light is dimmed(light) RCSM: •Sense Contexts •File transfer service Action: •Instructor distributes slides Lecture slides 78 Example: CSE 461 Software Engineering Project I Students and the instructor in CSE 461 carry their PDAs Students are provided with the group project requirement specification and major milestones Each group member participates in the project actively Each group member communicates with each other verbally and exchange documents through their PDAs The instructor frequently interacts with various student groups and monitors their progress 79 Example: CSE 461 Software Engineering Project I (cont.) The classroom of CSE 461 needs facilities for group collaboration and student-instructor interactions PDAs form groups depending on the current conditions - locations of the students in the classroom, - class schedule - availability of other group members - The situation-aware interactions among the PDAs in a group collaboration with S1) and S3) 80 Example: CSE 461 Software Engineering Project I (cont.) The instructor’s PDA can dynamically join a student group to - monitor and evaluate the group’s progress and - provide timely feedbacks - This type of student-instructor interactions has the characteristics S1) and S2) Our Smart Classroom addresses all these three characteristics S1)-S3) by facilitating both group collaborations and student-instructor interactions capabilities 81 Device Configurations Casio E-200 PDAs Intel Strong Arm 1110 with 206 MHz clock speed CPU. Flash ROM 32 MB RAM 64 MB D-LINK Air DCF-660W Compact Flash 802.11b adapter. Configured in mobile ad hoc network 82 Tools Used to Develop Applications Embedded visual studio version 3.0 – By Microsoft Platform builder version 3.0 – By Microsoft RCSM compiler version 1.0 – We developed the compiler Rational Rose – By IBM 83 Software Packages: RCSM R-ORB – – – Situation-awareness Ad hoc communication Detects context and process contexts Services – Ephemeral Group service – File service – Supports ad hoc group communication Applications use it to transfer files Information dissemination service Distributes information 84 Software Packages: Applications 1) 2) 3) 4) 5) 6) 7) 8) 9) Chat Schedule reminder Exam creating Exam taking Exam grading Homework Announcement Appointment Presentation 85 1) Chat software- Functionalities 1 : n Communication in a group (multicast) 1 : 1 Private Communication in a group (unicast) View Profiles of other users – – – Name (first and last) Email address Could be expanded to include a unique USERID 86 1) Chat software- Functionalities (cont.) Unicast of a file to another group member Logging of a groups chat to a file for later review 87 1) Chat software- Implementation Input – method Text, Text file Output – method Text, Text file Components – – – – – Used R-ORB SA-ADC SAEG User profile utility File transfer service 88 2) Schedule Reminder Functionalities Pops up the student’s schedule when student is inside the classroom. Pops up the instructor’s schedule when instructor is inside the classroom 89 2) Schedule Reminder Implementation Contexts – Noise, Motion, Location, Time Input – method Text File Output – used method HTML in Internet Explorer Components – – – R-ORB SA-ADC Sensors Used 90 3) Exam Creation – Functionalities Adding, removing, and modifying new Multiple Choice and Essay questions Adding questions from an old exam Opening an old exam and adding, removing, or modifying questions. Saving the exam with all questions and answers (.cxm file) Creating a set of distributable files, complete with student information. 91 3) Exam Creation – Functionalities Multiple – – – variable number of answer choices one or multiple correct answer choices different point values for each question Essay – – – Choice Questions can have: Questions can have: variable number of answer hints different point values for each question different lengths for each answer 92 3) Exam Creation - Implementation Details Input – method Text, Text file Output method Text, Text file RCSM Services Used – – Implementation Platform – None Microsoft C# Operating Environment: – PC running Windows 9x/NT/2k/XP 93 4) Exam Taking Application Functionalities Read from the distributed exam files Get student’s name and ID from user profile and verify information with student Display relevant exam information (i.e. name of class, instructor, total points) for student on PDA Display exam interface for essay and multiple-choice questions on PDA 94 4) Exam Taking Application Functionalities Disable all other applications during exam (i.e. no access to internet or chat applications) Save student’s answers to a solution file Send solution file to instructor for grading. 95 4) Exam Taking Application Implementation Details Input – Output – Text file Implementation Platform Text file Embedded Visual C++ 3.0 for Pocket PC System/Services Used File Transfer Service R-ORB SA-ADC 96 5) Exam Grading Application Functionalities Reading from a exam created by the instructor Reading from an exam solved by a student Automatically grading the multiple choice questions 97 5) Exam Grading Application Functionalities Viewing the hints/correct answers to the questions Viewing the student’s answers to the questions Saving the grades and the comments in a file Organize the exams into a neat directory structure. 98 5) Exam Grading/Distribution Application - Implementation Details Input – method Text, Text file Output method Text, Text file Implementation Platform – C# for Desktop PC operation environment System/Services Used – File Transfer Service – R-ORB – SA-ADC – 99 6) Homework- Functionality PC-based program Create homework assignments. – Allows creation of Multiple Choice & Essay Questions Grade homework assignments. – Grades the homework assignments received by the professor. 100 6) Homework- Functionality (cont.) Homework grading incorporates an autograder program that automatically grades multiple java programs – Compares the output of the student’s java program to that of the professors’, and grades accordingly 101 6) Homework - Implementation Details Input – method Text, Text file Output method Text, Text file RCSM Services Used – – Implementation Platform – None Microsoft C# Operating Environment: – PC running Windows 9x/NT/2k/XP 102 7) Announcement - Functionalities Instructor will be able to send announcements to all students Students will be able to receive the announcements from the instructor Students will be able to view the announcements 103 7) Announcement - Implementation Input – Text message Output – Text messages System/component – – – used R-ORB SA-ADC Information Dissemination service(IDS) 104 8) Appointment Maker Application Functionalities Allow the instructor/student to specify a date, range around that date, and remote user, compile the two users schedules, and display the range chosen. Allow the instructor/student to setup, cancel, change an appointment 105 8) Appointment Maker Application Functionalities (cont.) If the remote the instructor/student is not available, store the appointment request or change until the user is available or the date has passed provides a GUI for viewing the the instructor/student schedule and adding solo appointments. 106 8) Appointment Maker Implementation Contexts used: Input method: Time, Relative Location Text File Output method: Text and Text file System/component – – – used R-ORB SA-ADC File Transfer Service 107 9) Presentation - Functionalities Instructor’s device will be able to distribute presentation slides to all students when – – The PDA is near the screen Light of the room is dimmed Students will be able to receive the presentation sides from the instructor Students will be able to view the presentation slides 108 9) Presentation - Implementation Context used – Light and location Input – Presentation slides Output – Presentation slides System/component – – – used R-ORB SA-ADC File Transfer Service 109 Conclusions Designed our Smart Classroom, which facilitates collaborative learning using pervasive computing technology Increased the level and quality of interactions between students and instructor Discussed functionalities of our Smart Classroom using an example course Developed RCSM Object Request Broker (RORB) to facilitate situation data acquisition and situation-aware communication 110 Conclusions (cont.) Developed an application development framework in RCSM to facilitate the development of situation-aware application software Implemented of situation-aware ephemeral group communication service (SAEG) and a chat module - group collaborations and - student-instructor interactions Implemented information dissemination service (IDS) for distributing information Implemented file transfer service for transferring files 111 Conclusions (cont.) A number of new features is being developed - appointment making, - announcement, - question answering, and - schedule creating Evaluation of our Smart Classroom with various scenarios Future work includes implementing security service, exam-taking and grading tools using the facilities provided by the RCSM 112 Thanks! For further information: www.eas.asu.edu/~rcsm 113