RECIPE: a prototype for Internet-based real-time collaborative programming

Size: px
Start display at page:

Download "RECIPE: a prototype for Internet-based real-time collaborative programming"

Transcription

1 RECIPE: a prototype for Internet-based real-time collaborative programming Haifeng Shen and Chengzheng Sun School of Computing and Information Technology Griffith University QLD 4111, Australia {Hf.Shen, Abstract Internet-based real-time collaborative programming allows physically dispersed programmers to concurrently and collaboratively design, code, test, debug and document the same program. This technology is more and more demanded in nowadays software development. In this paper, we present an overview of the RECIPE (REal-time Collaborative Interactive Programming Environment) prototype system, which was developed to serve as a vehicle to motivate and evaluate our research in the area of Internet-based real-time collaborative programming environments. A working scenario is used to illustrate Internetbased real-time collaborative programming with the support of the RECIPE prototype system. I. Introduction Large-scale software development requires more and more programmers to work on the same project. Team programming [2] where a large, complex system is divided into several individual programming tasks to be fulfilled by individual programmers or subgroups is therefore being used for nowadays large-scale software development. Internet-based real-time collaborative programming, on the other hand, allows physically dispersed programmers to work concurrently and collaboratively on the same programming task for design, coding, debugging, testing and documentation. Previous study [2,8] found that collaborative programming can not only accelerate the problem-solving processes, but also improve the quality of the software products. Internet-based real-time collaborative programming is more and more demanded due to the following reasons: 1

2 1. For geographically dispersed programmers working on the same project, it is more costeffective to work collaboratively than work separately. 2. To produce high quality software products in a short time, professional programmers working collaboratively can outperform individual programmers working separately [2]. 3. To train customers or to diagnose and resolve software problems, customer support engineers or system administrators need to work remotely and collaboratively with the customers at customers' computers [7]. The goal of our research is to investigate and develop innovative technologies and environments for supporting Internet-based real-time collaborative programming. The RECIPE (REal-time Collaborative Interactive Programming Environment) prototype system was developed to be a vehicle for driving and demonstrating our research in this area. In this paper, an overview of the RECIPE prototype system is presented. The system architecture and main components of the RECIPE prototype system are described in Section II. Main features of the system are explained in section III. A working scenario of Internet-based real-time collaborative programming with the support of the RECIPE system is illustrated in Section IV. At last, summary of this paper and future work are given in section V. II. System architecture and main components The RECIPE prototype system employs a centralized architecture. In this architecture, inputs from all cooperative participants are merged and sent to a single instance of the shared application and any output of the shared application is broadcast to all participants. A real-time collaborative programming session should consist of a RECIPE Server and several RECIPE Sites. The RECIPE Server is a Java application responsible for cooperative membership and session management. The RECIPE Sites are Java applets downloaded from the server to run on any machines connected to the Internet. The RECIPE Sites are responsible for sending inputs to and receiving outputs from the RECIPE Server. An Internet-based real-time collaborative programming session with two RECIPE Sites, each RECIPE Site with one sharable Unix shell session and one sharable debugging session, is illustrated in Figure 1. 2

3 SC SCH SCH IMD IMD VSH SHELL DEBUGGER VSH SHELL DEBUGGER RECIPE Site RECIPE Site Figure 1 An Internet-based collaborative programming session with two RECIPE Sites, each RECIPE Site with one sharable Unix shell session and one sharable debugging session The RECIPE Server has a Server Connector (SC) component, which resides at a well-known Internet address, waiting for the connection request from any RECIPE Site over the Internet. Once a connection request is accepted, a thread called Server Connection Handler (SCH) is created by the SC to serve that RECIPE Site while the SC keeps waiting for new connection requests. Each SCH has an Input Merger and Distributor (IMD) component, which is responsible for merging inputs from cooperative RECIPE Sites and distributing the merged inputs to different components. Concretely, Unix shell inputs are forwarded to the Unix shell (SHELL) component, debugging inputs are forwarded to the corresponding debugging (DEBUGGER) components, and the RECIPE built-in commands are forwarded to the Virtual Shell (VSH) component for interpretation. The SHELL component manages a Unix shell process and each DEBUGGER component manages a debugging process. The SHELL component and each DEBUGGER component have the Output Collector and Broadcaster () components collecting outputs from the Unix shell process and the debugging processes and broadcasting the collected outputs to the cooperative RECIPE Sites. 3

4 III. Main features of the system The RECIPE prototype system was developed to support Internet-based real-time collaborative programming and serve as a vehicle for driving and demonstrating our research this area. It has the following characteristics: Collaboration transparency. Existing single-user compilers and debuggers can be easily converted to multi-user collaborative applications without any change to the applications executables. Flexible access control. The RECIPE prototype system deploys a request/authorize access control policy for the multi-user collaborative environment. When a user wants to join a session, he needs to send a joining request to the session chairman who started the session. The session chairman can grant the user with full permissions (i.e., view and participate), grant the user with restricted permission (i.e., view only), or refuse the joining request. Extensibility. Existing real-time cooperative group editors, single-user compilers, and single-user debuggers can be easily plugged into the RECIPE prototype system to support Internet-based real-time collaborative programming. Hierarchical collaboration. The RECIPE prototype system can share the compiling applications, debugging applications, or even the entire Unix shell application for collaboration. There are four types of sharable sessions in the RECIPE prototype system, which are Unix shell session (UXSH), Editing session (EDIT), Compiling session (COMP), and Debugging session (DEBG). The currently supported compiling applications are the GNU C compilers (i.e., gcc and g++) and the Java compiler (i.e., javac). The currently supported debugging applications are the GNU C debugger (i.e., gdb) and the Java debugger (i.e., jdb). The REDUCE (REal-time Distributed Unconstrained Cooperative Editing) system is integrated in the RECIPE prototype system to serve as the real-time cooperative program editor. The REDUCE system was developed by our research group to support realtime cooperative editing. It allows physically dispersed users to view and edit shared documents at the same time. The main features of the REDUCE system are: 1) Concurrent editing any text at any time. 2) Concurrent undoing any operation at any time [3]. 3) Instant response on distant editing over the Internet. 4) Optimistic concurrency control by operational transformation [4]. 5) Convergence, causality-preservation and intentionpreservation [5]. 6) Optional and responsive locking support [6]. 4

5 IV. A working scenario with RECIPE A working scenario is presented here to illustrate how the RECIPE prototype system can facilitate collaborative programming over the Internet. Haifeng is a PhD student at Griffith University, Australia. He is implementing the undo module for the REDUCE system designed by his supervisor Professor Sun who is on leave in Singapore. Haifeng found a major bug when testing. But he couldn t trace out the root of the bug. So he invited Prof. Sun to concurrently and collaboratively debug his program. Firstly, Haifeng started a debugging session to debug his Java program called RE.class. Prof. Sun then requested to join this session and Haifeng granted full permissions to him upon receiving his joining request. Haifeng set a breakpoint at the method called anyundo and then ran this program. When the program stopped at the breakpoint, Haifeng printed the value of a global variable HB which he thought was not correct. Prof. Sun had seen all of Haifeng s actions and the program s outputs. He then set another breakpoint at the method called undo before Haifeng s breakpoint and re-ran this program. When the program stopped at his breakpoint, he printed the value of the variable HB and found it was correct at this stage. So he concluded that there was something wrong between the method undo and anyundo. Prof. Sun and Haifeng then continued to trace the program step by step interactively. When they made a decision that the bug was probably in the method called skipms, Haifeng started an editing session to edit the program source code RE.java using the REDUCE real-time cooperative editor and made a compiling group. Prof. Sun then joined the editing session with full permissions and the compiling group in order to receive compiling outputs. Prof. Sun and Haifeng continuously edited the program source code and compiled it until the compilation was passed and the revision was finished. After then, they were back to the debugging session, reloading and re-debugging the revised program. They kept collaboratively debugging, editing and compiling until the bug was finally fixed. V. Summary and future work In this paper, we present an overview of the RECIPE prototype system, which was developed to serve as a vehicle to motivate and evaluate our research in the area of Internet-based real-time collaborative programming environments. A working scenario is illustrated to concretize Internet-based real-time collaborative programming with the support of the RECIPE prototype system. 5

6 However, because RECIPE is just an initial prototype system for Internet-based real-time collaborative programming, some further work needs to be done in the future. For instance, floor control should be used to avoid potential problems caused by interleaving inputs from multiple participants. Mutual exclusion is currently used for concurrency control, but more sophisticated concurrency control mechanism is expected in the future. The current access control policy is static, which means once the permission to a participant is granted, it cannot be dynamically changed by the session chairman during the lifetime of the session. A dynamic access control policy, which allows the session chairman to change the permissions at any time during the lifetime of the session, will be applied in the future. References 1. P. Dewan and J. Riedl, Towards Computer-Supported Concurrent Software Engineering, IEEE Computer, Vol. 26, No. 1 (Jan. 1993). 2. John T. Nosek, The Case for Collaborative Programming, Communications of the ACM, Vol. 41, No. 3 (March 1998). 3. C. Sun, Undo any operation at any time in group editors, to appear in Proceedings of ACM 2000 Conference on Computer Supported Cooperative Work, December 2-6, 2000, Philadelphia, Pennsylvania, USA. 4. C. Sun and C. A. Ellis, Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements, Proceedings of ACM Conference on Computer Supported Cooperative Work, pp.59-68, Seattle, USA, Nov 14-18, C. Sun, X. Jia, Y. Zhang, Y. Yang, D. Chen, Achieiving convergence, causalitypreservation, and intention-preservation in real-time cooperative editing systems, ACM Transactions on Computer-Human Interaction, Vol. 5, No. 1 (March, 1998). 6. C. Sun and R. Sosic, Optional Locking Integrated with Operational Transformation in Distributed Real-Time Group Editors, Proceedings of the 18th ACM Symposium on Principles of Distributed Computing, pp.43-52, Atlanta, GA, USA, May 4-6, John C. Tang, Nicole Yankelovich, and James Begole, SharedShell: A shared terminal for collaborative system administration, Network Communities Report, June Laurie A. Williams and Robert R. Kessler, All I really need to know about pair programming learned in kindergarten, Communications of the ACM, Vol. 43, No. 5 (May 2000). 6

INTERNET-BASED COLLABORATIVE PROGRAMMING TECHNIQUES AND ENVIRONMENTS

INTERNET-BASED COLLABORATIVE PROGRAMMING TECHNIQUES AND ENVIRONMENTS INTERNET-BASED COLLABORATIVE PROGRAMMING TECHNIQUES AND ENVIRONMENTS By Haifeng Shen A DISSERTATION SUBMITTED IN FULFILLMENT OF THE REQUIREMENTS OF THE DEGREE OF DOCTOR OF PHILOSOPHY AT THE SCHOOL OF COMPUTING

More information

Maintaining Semantic Consistency in Real-Time Collaborative Graphics Editing Systems

Maintaining Semantic Consistency in Real-Time Collaborative Graphics Editing Systems IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.4, April 2006 57 Maintaining Semantic Consistency in Real-Time Collaborative Graphics Editing Systems Jiajun Bu 1, Bo Jiang

More information

A Reputation Replica Propagation Strategy for Mobile Users in Mobile Distributed Database System

A Reputation Replica Propagation Strategy for Mobile Users in Mobile Distributed Database System A Reputation Replica Propagation Strategy for Mobile Users in Mobile Distributed Database System Sashi Tarun Assistant Professor, Arni School of Computer Science and Application ARNI University, Kathgarh,

More information

An Integrated Session and Repository Management Approach for Real-Time Collaborative Editing Systems

An Integrated Session and Repository Management Approach for Real-Time Collaborative Editing Systems An Integrated Session and Repository Management Approach for Real-Time Editing Systems Steven Xia Griffith University Brisbane, Australia Q.Xia@griffith.edu.au David Sun University of California at Berkeley

More information

For Introduction to Java Programming, 5E By Y. Daniel Liang

For Introduction to Java Programming, 5E By Y. Daniel Liang Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,

More information

Consistency Maintenance Framework For Collaborative Software Modelling Tools

Consistency Maintenance Framework For Collaborative Software Modelling Tools Consistency Maintenance Framework For Collaborative Software Modelling Tools Marta Lozano A dissertation submitted to the University of Dublin, in partial fulfillment of the requirements for the degree

More information

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,

More information

INTERNET-BASED COLLABORATIVE PROGRAMMING TECHNIQUES AND ENVIRONMENTS

INTERNET-BASED COLLABORATIVE PROGRAMMING TECHNIQUES AND ENVIRONMENTS INTERNET-BASED COLLABORATIVE PROGRAMMING TECHNIQUES AND ENVIRONMENTS By Haifeng Shen A DISSERTATION SUBMITTED IN FULFILLMENT OF THE REQUIREMENTS OF THE DEGREE OF DOCTOR OF PHILOSOPHY AT THE SCHOOL OF COMPUTING

More information

Integrating Databases, Objects and the World-Wide Web for Collaboration in Architectural Design

Integrating Databases, Objects and the World-Wide Web for Collaboration in Architectural Design Integrating Databases, Objects and the World-Wide Web for Collaboration in Architectural Design Wassim Jabi, Assistant Professor Department of Architecture University at Buffalo, State University of New

More information

Contents. Java - An Introduction. Java Milestones. Java and its Evolution

Contents. Java - An Introduction. Java Milestones. Java and its Evolution Contents Java and its Evolution Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering The University of Melbourne http:// www.buyya.com Java Introduction

More information

CS420: Operating Systems OS Services & System Calls

CS420: Operating Systems OS Services & System Calls NK YORK COLLEGE OF PENNSYLVANIA HG OK 2 YORK COLLEGE OF PENNSYLVAN OS Services & System Calls James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts,

More information

Monitoring, Tracing, Debugging (Under Construction)

Monitoring, Tracing, Debugging (Under Construction) Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

STLinux Software development environment

STLinux Software development environment STLinux Software development environment Development environment The STLinux Development Environment is a comprehensive set of tools and packages for developing Linux-based applications on ST s consumer

More information

DDMan: A Management System for Distributed Software Development in Cloud Computing Environments

DDMan: A Management System for Distributed Software Development in Cloud Computing Environments DDMan: A Management System for Distributed Software Development in Cloud Computing Environments Chung Yung and Shao-Zong Chen Abstract In this paper, we present a management system for distributed software

More information

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration 1 Harish H G, 2 Dr. R Girisha 1 PG Student, 2 Professor, Department of CSE, PESCE Mandya (An Autonomous Institution under

More information

Toward Undoing in Composite Web Services

Toward Undoing in Composite Web Services Toward Undoing in Composite Web Services Marie-Claude Gaudel LRI, Paris-Sud University & CNRS, Orsay, France mcg@lri.fr Abstract. Cancelling or reversing the effect of a former action is a necessity in

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove (amislove@ccs.neu.edu) Operating System Services Operating systems provide an environment for

More information

EECS 211 Introduction to Compiling and Linking

EECS 211 Introduction to Compiling and Linking EECS 211 Introduction to Compiling and Linking The transformation of a set of C++ source and header files into an executable file requires many steps. This document provides a brief overview of those steps

More information

Automatic Schedule Control for Distributed Software Development in Cloud Computing Environments

Automatic Schedule Control for Distributed Software Development in Cloud Computing Environments Journal of Industrial and Intelligent Information Vol. 2, No. 1, March 2014 Automatic Schedule Control for Distributed Software Development in Cloud Computing Environments Chung Yung, Shao-Zong Chen, and

More information

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution CSE 452: Programming Languages Java and its Evolution Acknowledgements Rajkumar Buyya 2 Contents Java Introduction Java Features How Java Differs from other OO languages Java and the World Wide Web Java

More information

Testing for Security

Testing for Security Testing for Security Kenneth Ingham September 29, 2009 1 Course overview The threat that security breaches present to your products and ultimately your customer base can be significant. This course is

More information

Automating Service Negotiation Process for Service Architecture on the cloud by using Semantic Methodology

Automating Service Negotiation Process for Service Architecture on the cloud by using Semantic Methodology Automating Process for Architecture on the cloud by using Semantic Methodology Bhavana Jayant.Adgaonkar Department of Information Technology Amarutvahini College of Engineering Sangamner, India adgaonkarbhavana@yahoo.in

More information

A Framework for the Design of Cloud Based Collaborative Virtual Environment Architecture

A Framework for the Design of Cloud Based Collaborative Virtual Environment Architecture , March 12-14, 2014, Hong Kong A Framework for the Design of Cloud Based Collaborative Virtual Environment Architecture Abdulsalam Ya u Gital, Abdul Samad Ismail, Min Chen, and Haruna Chiroma, Member,

More information

The Association of System Performance Professionals

The Association of System Performance Professionals The Association of System Performance Professionals The Computer Measurement Group, commonly called CMG, is a not for profit, worldwide organization of data processing professionals committed to the measurement

More information

Efficient Automated Build and Deployment Framework with Parallel Process

Efficient Automated Build and Deployment Framework with Parallel Process Efficient Automated Build and Deployment Framework with Parallel Process Prachee Kamboj 1, Lincy Mathews 2 Information Science and engineering Department, M. S. Ramaiah Institute of Technology, Bangalore,

More information

An Open MPI-based Cloud Computing Service Architecture

An Open MPI-based Cloud Computing Service Architecture An Open MPI-based Cloud Computing Service Architecture WEI-MIN JENG and HSIEH-CHE TSAI Department of Computer Science Information Management Soochow University Taipei, Taiwan {wjeng, 00356001}@csim.scu.edu.tw

More information

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE TIGRAN HAKOBYAN SUJAL PATEL VANDANA MURALI INTRODUCTION Common Object Request

More information

This document shows how to use BlueJ to debug a Java program. We will use the SyllableCounter program in Chapter 6 as example.

This document shows how to use BlueJ to debug a Java program. We will use the SyllableCounter program in Chapter 6 as example. This document shows how to use BlueJ to debug a Java program. We will use the SyllableCounter program in Chapter 6 as example. Let s first execute the program to see that there are bugs in the program.

More information

Software design (Cont.)

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

More information

A Scheduling System for Shared Online Laboratory Resources

A Scheduling System for Shared Online Laboratory Resources A Scheduling System for Shared Online Laboratory Resources Yaoye Li, Sven K. Esche, and Constantin Chassapis Stevens Institute of Technology, Department of Mechanical Engineering, Hoboken, New Jersey 07030,

More information

IMPROVEMENT OF RESPONSE TIME OF LOAD BALANCING ALGORITHM IN CLOUD ENVIROMENT

IMPROVEMENT OF RESPONSE TIME OF LOAD BALANCING ALGORITHM IN CLOUD ENVIROMENT IMPROVEMENT OF RESPONSE TIME OF LOAD BALANCING ALGORITHM IN CLOUD ENVIROMENT Muhammad Muhammad Bala 1, Miss Preety Kaushik 2, Mr Vivec Demri 3 1, 2, 3 Department of Engineering and Computer Science, Sharda

More information

Debugging using Visual C++

Debugging using Visual C++ Debugging using Visual C++ Chuong Nguyen Chuong Nguyen - Fall '06 1 Main Topics Why do I care? Development environment Editor Compiler Debugger IDE Debugging Locate a bug Find the cause Fix the bug Debugging

More information

4D and SQL Server: Powerful Flexibility

4D and SQL Server: Powerful Flexibility 4D and SQL Server: Powerful Flexibility OVERVIEW MS SQL Server has become a standard in many parts of corporate America. It can manage large volumes of data and integrates well with other products from

More information

Course Development of Programming for General-Purpose Multicore Processors

Course Development of Programming for General-Purpose Multicore Processors Course Development of Programming for General-Purpose Multicore Processors Wei Zhang Department of Electrical and Computer Engineering Virginia Commonwealth University Richmond, VA 23284 wzhang4@vcu.edu

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

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

More information

Toward Community-Based Personal Cloud Computing

Toward Community-Based Personal Cloud Computing Toward Community-Based Personal Cloud Computing Weichang Du Abstract This paper proposes a new of cloud computing for individual computer users to share applications in distributed communities, called

More information

Real-time Debugging using GDB Tracepoints and other Eclipse features

Real-time Debugging using GDB Tracepoints and other Eclipse features Real-time Debugging using GDB Tracepoints and other Eclipse features GCC Summit 2010 2010-010-26 marc.khouzam@ericsson.com Summary Introduction Advanced debugging features Non-stop multi-threaded debugging

More information

Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney

Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney Frysk The Systems Monitoring and Debugging Tool Andrew Cagney Agenda Two Use Cases Motivation Comparison with Existing Free Technologies The Frysk Architecture and GUI Command Line Utilities Current Status

More information

Java Application Development using Eclipse. Jezz Kelway kelwayj@uk.ibm.com Java Technology Centre, z/os Service IBM Hursley Park Labs, United Kingdom

Java Application Development using Eclipse. Jezz Kelway kelwayj@uk.ibm.com Java Technology Centre, z/os Service IBM Hursley Park Labs, United Kingdom 8358 Java Application Development using Eclipse Jezz Kelway kelwayj@uk.ibm.com Java Technology Centre, z/os Service IBM Hursley Park Labs, United Kingdom Abstract Learn how to use the powerful features

More information

A Thread Monitoring System for Multithreaded Java Programs

A Thread Monitoring System for Multithreaded Java Programs A Thread Monitoring System for Multithreaded Java Programs Sewon Moon and Byeong-Mo Chang Department of Computer Science Sookmyung Women s University, Seoul 140-742, Korea wonsein@nate.com, chang@sookmyung.ac.kr

More information

Easing embedded Linux software development for SBCs

Easing embedded Linux software development for SBCs Page 1 of 5 Printed from: http://www.embedded-computing.com/departments/eclipse/2006/11/ Easing embedded Linux software development for SBCs By Nathan Gustavson and Eric Rossi Most programmers today leaving

More information

A Collaborative Real Time Drawing System- Multi User Virtual Drawing Board

A Collaborative Real Time Drawing System- Multi User Virtual Drawing Board A Collaborative Real Time Drawing System- Multi User Virtual Drawing Board Aneesha Sharma Department of Computer Science and Engineering Amity University, Noida, U.P, India Shilpi Gupta Department of Computer

More information

GDB Tutorial. A Walkthrough with Examples. CMSC 212 - Spring 2009. Last modified March 22, 2009. GDB Tutorial

GDB Tutorial. A Walkthrough with Examples. CMSC 212 - Spring 2009. Last modified March 22, 2009. GDB Tutorial A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program

More information

Distributed Systems Lecture 1 1

Distributed Systems Lecture 1 1 Distributed Systems Lecture 1 1 Distributed Systems Lecturer: Therese Berg therese.berg@it.uu.se. Recommended text book: Distributed Systems Concepts and Design, Coulouris, Dollimore and Kindberg. Addison

More information

System for Distributed Project Management over the Internet: PI-CEE

System for Distributed Project Management over the Internet: PI-CEE UDC 621.395.74:681.3.068 System for Distributed Project Management over the Internet: PI-CEE VTakao Okubo VTakahide Matsutsuka VHirotaka Hara (Manuscript received June 21, 2000) Rapid information sharing

More information

Mac OS X and Mac Demos - The Opportunities

Mac OS X and Mac Demos - The Opportunities (Corrections 190301) Introduction Mac OS X and Mac Demos - The Opportunities Mac OS X looks like another milestone in the development of the Apple Macintosh computer. In this short article we look at the

More information

1. THE JAVA PROGRAMMING LANGUAGE

1. THE JAVA PROGRAMMING LANGUAGE 1. THE JAVA PROGRAMMING LANGUAGE What is Java? Java programming language is a high-level language that can be characterized by all of the following buzzwords: Compiled and Interpreted Architecture neutral

More information

JAVA-BASED FRAMEWORK FOR REMOTE ACCESS TO LABORATORY EXPERIMENTS. Department of Electrical Engineering University of Hagen D-58084 Hagen, Germany

JAVA-BASED FRAMEWORK FOR REMOTE ACCESS TO LABORATORY EXPERIMENTS. Department of Electrical Engineering University of Hagen D-58084 Hagen, Germany JAVA-BASED FRAMEWORK FOR REMOTE ACCESS TO LABORATORY EXPERIMENTS Christof Röhrig, 1 Andreas Jochheim 2 Department of Electrical Engineering University of Hagen D-58084 Hagen, Germany Abstract: This paper

More information

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

2 Introduction to Java. Introduction to Programming 1 1

2 Introduction to Java. Introduction to Programming 1 1 2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage

More information

Real Time Programming: Concepts

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

More information

Towards Lightweight Logging and Replay of Embedded, Distributed Systems

Towards Lightweight Logging and Replay of Embedded, Distributed Systems Towards Lightweight Logging and Replay of Embedded, Distributed Systems (Invited Paper) Salvatore Tomaselli and Olaf Landsiedel Computer Science and Engineering Chalmers University of Technology, Sweden

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper WP2 Subject: with the CRYPTO-BOX Version: Smarx OS PPK 5.90 and higher 0-15Apr014ks(WP02_Network).odt Last Update: 28 April 2014 Target Operating Systems: Windows 8/7/Vista (32 & 64 bit), XP, Linux, OS

More information

Parallelnavi Workbench: an OpenMP Development Environment for a Wide-Area Network

Parallelnavi Workbench: an OpenMP Development Environment for a Wide-Area Network Parallelnavi Workbench: an OpenMP Development Environment for a Wide-Area Network Matthijs van Waveren and Pierre Lagier Fujitsu Systems Europe Ltd 8, rue Maryse Hilsz 31500 Toulouse, France Minoru Tanaka,

More information

A structure diagram design tool for teaching embedded systems software design

A structure diagram design tool for teaching embedded systems software design A structure diagram design tool for teaching embedded systems software design John Collins, Mark Beckerleg Engineering Research Institute School of Engineering Auckland University of Technology Abstract

More information

UNIT 12. Distributed Database

UNIT 12. Distributed Database UNIT 12 Distributed Database Contents 12.1 Introduction 12.2 The Twelve Objectives 12.3 Problems of Distributed Database Systems 12.4 Gateways 12.5 Client/Server Systems 12-2 12.1 Introduction 12-3 Distributed

More information

Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development

Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development Introduction to -based solution for embedded software development Section 1 Eddy Real-Time, Lemonix Section 2 Eddy Integrated Development Environment, LemonIDE Section 3 Eddy Utility Programs Eddy Integrated

More information

Software Visualization Tools for Component Reuse

Software Visualization Tools for Component Reuse Software Visualization Tools for Component Reuse Craig Anslow Stuart Marshall James Noble Robert Biddle 1 School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New

More information

Chapter 3. Internet Applications and Network Programming

Chapter 3. Internet Applications and Network Programming Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

UT69R000 MicroController Software Tools Product Brief

UT69R000 MicroController Software Tools Product Brief Military Standard Products UT69R000 MicroController Software Tools Product Brief July 1996 Introduction The UT69R000 MicroController Software Tools consist of a C Compiler (GCC), a RISC assembler (), a

More information

DEVELOPMENT OF VIBRATION REMOTE MONITORING SYSTEM BASED ON WIRELESS SENSOR NETWORK

DEVELOPMENT OF VIBRATION REMOTE MONITORING SYSTEM BASED ON WIRELESS SENSOR NETWORK International Journal of Computer Application and Engineering Technology Volume 1-Issue1, January 2012.pp.1-7 www.ijcaet.net DEVELOPMENT OF VIBRATION REMOTE MONITORING SYSTEM BASED ON WIRELESS SENSOR NETWORK

More information

Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System

Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System , pp.97-108 http://dx.doi.org/10.14257/ijseia.2014.8.6.08 Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System Suk Hwan Moon and Cheol sick Lee Department

More information

where HCI and software engineering meet Andy Ko Information School * why you should work with Andy

where HCI and software engineering meet Andy Ko Information School * why you should work with Andy where HCI and software engineering meet * Andy Ko Information School * why you should work with Andy 1 HCI software engineering 2 what should be what must be HCI software engineering 2 HCI developers are

More information

CSC 4304: Systems Programming

CSC 4304: Systems Programming Course Outcomes CSC 4304 Credit Hours: 3 hours Prerequisites: CSC 4103 CSC 4304: Systems Programming Prerequisites By Topic: Basic programming knowledge in C/C++. Basic constructs of programming: e.g.

More information

Organisational Aspects of Software Development

Organisational Aspects of Software Development Organisational Aspects of Software Development Pedro Contreras Department of Computer Science Royal Holloway, University of London January 29, 2008 Introduction Creating software is a complex task. Organising

More information

Gadget: A Tool for Extracting the Dynamic Structure of Java Programs

Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Juan Gargiulo and Spiros Mancoridis Department of Mathematics & Computer Science Drexel University Philadelphia, PA, USA e-mail: gjgargiu,smancori

More information

Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together

Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together Fault-Tolerant Computer System Design ECE 695/CS 590 Putting it All Together Saurabh Bagchi ECE/CS Purdue University ECE 695/CS 590 1 Outline Looking at some practical systems that integrate multiple techniques

More information

Remote control of CAN-based industrial equipment using Internet technologies

Remote control of CAN-based industrial equipment using Internet technologies Remote control of CAN-based industrial equipment using Internet technologies Prof. Dr.-Ing. Gerhard Gruhler, University of Applied Sciences Reutlingen, Steinbeis Technology Transfer Center Automation (STA),

More information

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Who am I? Lo Chi Wing, Peter Lecture 1: Introduction to Android Development Email: Peter@Peter-Lo.com Facebook: http://www.facebook.com/peterlo111

More information

A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS

A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS Abstract T.VENGATTARAMAN * Department of Computer Science, Pondicherry University, Puducherry, India. A.RAMALINGAM Department of MCA, Sri

More information

Developing, Deploying, and Debugging Applications on Windows Embedded Standard 7

Developing, Deploying, and Debugging Applications on Windows Embedded Standard 7 Developing, Deploying, and Debugging Applications on Windows Embedded Standard 7 Contents Overview... 1 The application... 2 Motivation... 2 Code and Environment... 2 Preparing the Windows Embedded Standard

More information

Developing an Efficient Remote Lab Environment for Online IDS Courses 1

Developing an Efficient Remote Lab Environment for Online IDS Courses 1 Developing an Efficient Remote Lab Environment for Online IDS Courses 1 Xin Tang, Kai Li Department of Technology Systems, East Carolina University Abstract - In this project, a remote lab network environment

More information

Globule: a Platform for Self-Replicating Web Documents

Globule: a Platform for Self-Replicating Web Documents Globule: a Platform for Self-Replicating Web Documents Guillaume Pierre Maarten van Steen Vrije Universiteit, Amsterdam Internal report IR-483 January 2001 Abstract Replicating Web documents at a worldwide

More information

What's New in NetBeans IDE 7.2

<Insert Picture Here> What's New in NetBeans IDE 7.2 Slide 1 What's New in NetBeans IDE 7.2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

CSCI E 98: Managed Environments for the Execution of Programs

CSCI E 98: Managed Environments for the Execution of Programs CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office

More information

Debugging Multi-threaded Applications in Windows

Debugging Multi-threaded Applications in Windows Debugging Multi-threaded Applications in Windows Abstract One of the most complex aspects of software development is the process of debugging. This process becomes especially challenging with the increased

More information

INTERNATIONAL JOURNAL FOR ENGINEERING APPLICATIONSAND TECHNOLOGY. An Online Application for Programming Languages

INTERNATIONAL JOURNAL FOR ENGINEERING APPLICATIONSAND TECHNOLOGY. An Online Application for Programming Languages IJFEAT INTERNATIONAL JOURNAL FOR ENGINEERING APPLICATIONSAND TECHNOLOGY An Online Application for Programming Languages Megha R. Kute Department of Computer Engineering,Sinhgad Academy Of Engineering,Kondhwa,Pune

More information

A Framework for End-to-End Proactive Network Management

A Framework for End-to-End Proactive Network Management A Framework for End-to-End Proactive Network Management S. Hariri, Y. Kim, P. Varshney, Department of Electrical Engineering and Computer Science Syracuse University, Syracuse, NY 13244 {hariri, yhkim,varshey}@cat.syr.edu

More information

Systems software design SOFTWARE BUILD CONFIGURATIONS; DEBUGGING, PROFILING & QUALITY ASSURANCE TOOLS

Systems software design SOFTWARE BUILD CONFIGURATIONS; DEBUGGING, PROFILING & QUALITY ASSURANCE TOOLS Systems software design SOFTWARE BUILD CONFIGURATIONS; DEBUGGING, PROFILING & QUALITY ASSURANCE TOOLS outline Build configurations Debugging tools Debugger features Remote debugging Post-mortem analysis

More information

VEHICLE TRACKING SYSTEM USING GPS. 1 Student, ME (IT) Pursuing, SCOE, Vadgaon, Pune. 2 Asst. Professor, SCOE, Vadgaon, Pune

VEHICLE TRACKING SYSTEM USING GPS. 1 Student, ME (IT) Pursuing, SCOE, Vadgaon, Pune. 2 Asst. Professor, SCOE, Vadgaon, Pune VEHICLE TRACKING SYSTEM USING GPS Pooja P. Dehankar 1, 1 Student, ME (IT) Pursuing, SCOE, Vadgaon, Pune Prof. S. P. Potdar 2 2 Asst. Professor, SCOE, Vadgaon, Pune Abstract- Global Positioning System is

More information

Sangam A Distributed Pair Programming Plug-in for Eclipse

Sangam A Distributed Pair Programming Plug-in for Eclipse Sangam A Distributed Pair Programming Plug-in for Eclipse Chih-wei Ho 1, Somik Raha 2, Edward Gehringer 1, Laurie Williams 1 1 Department of Computer Science, North Carolina State University Raleigh, NC

More information

OPERATING SYSTEM SERVICES

OPERATING SYSTEM SERVICES OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered

More information

GRIFFITH UNIVERSITY Author: Title: David Chen Date: November 2001 Consistency Maintenance in Collaborative Graphics Editing Systems Department: School

GRIFFITH UNIVERSITY Author: Title: David Chen Date: November 2001 Consistency Maintenance in Collaborative Graphics Editing Systems Department: School CONSISTENCY MAINTENANCE IN COLLABORATIVE GRAPHICS EDITING SYSTEMS By David Chen A DISSERTATION SUBMITTED IN FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY AT THE SCHOOL OF COMPUTING

More information

Building Java Servlets with Oracle JDeveloper

Building Java Servlets with Oracle JDeveloper Building Java Servlets with Oracle JDeveloper Chris Schalk Oracle Corporation Introduction Developers today face a formidable task. They need to create large, distributed business applications. The actual

More information

Apache Jakarta Tomcat

Apache Jakarta Tomcat Apache Jakarta Tomcat 20041058 Suh, Junho Road Map 1 Tomcat Overview What we need to make more dynamic web documents? Server that supports JSP, ASP, database etc We concentrates on Something that support

More information

Studying Security Weaknesses of Android System

Studying Security Weaknesses of Android System , pp. 7-12 http://dx.doi.org/10.14257/ijsia.2015.9.3.02 Studying Security Weaknesses of Android System Jae-Kyung Park* and Sang-Yong Choi** *Chief researcher at Cyber Security Research Center, Korea Advanced

More information

Warehousing and Studying Open Source Versioning Metadata

Warehousing and Studying Open Source Versioning Metadata Warehousing and Studying Open Source Versioning Metadata Matthew Van Antwerp and Greg Madey University of Notre Dame {mvanantw,gmadey}@cse.nd.edu Abstract. In this paper, we describe the downloading and

More information

Debugging Java Applications

Debugging Java Applications Debugging Java Applications Table of Contents Starting a Debugging Session...2 Debugger Windows...4 Attaching the Debugger to a Running Application...5 Starting the Debugger Outside of the Project's Main

More information

Instrumentation Software Profiling

Instrumentation Software Profiling Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the

More information

Open Access Design of a Python-based Wireless Network Optimization and Testing System

Open Access Design of a Python-based Wireless Network Optimization and Testing System Send Orders for Reprints to reprints@benthamscience.ae The Open Automation and Control Systems Journal, 2015, 7, 353-357 353 Open Access Design of a Python-based Wireless Network Optimization and Testing

More information

The preliminary design of a wearable computer for supporting Construction Progress Monitoring

The preliminary design of a wearable computer for supporting Construction Progress Monitoring The preliminary design of a wearable computer for supporting Construction Progress Monitoring 1 Introduction Jan Reinhardt, TU - Dresden Prof. James H. Garrett,Jr., Carnegie Mellon University Prof. Raimar

More information

Debugging PL/SQL and Java Stored Programs with JPDA

Debugging PL/SQL and Java Stored Programs with JPDA Debugging PL/SQL and Java Stored Programs with JPDA Christian Antognini Trivadis AG Zürich, Switzerland Introduction Once upon a time the only way to debug a program was to fill it with tracing instructions

More information

Compensation in Collaborative Editing

Compensation in Collaborative Editing Compensation in Collaborative Editing Stéphane Weiss, Pascal Urso and Pascal Molli LORIA Campus Scientifique, BP 239 F-54506 Vandoeuvre-lès-Nancy, France {weiss,urso,molli}@loria.fr ABSTRACT Undo/Redo

More information

Module 1: Introduction to Team Foundation Server Administration

Module 1: Introduction to Team Foundation Server Administration Module : Introduction to Team Foundation Server Administration 2 Application Lifecycle Management & Team Foundation Server 200 ALM, or Application Lifecycle Management, refers to the end-to-end process

More information

Design and Implementation of Important Applications in a Java-Based Multimedia Digital Classroom 1

Design and Implementation of Important Applications in a Java-Based Multimedia Digital Classroom 1 Design and Implementation of Important in a Java-Based Multimedia Digital Classroom 1 Kuang-Chih Lee, Keh-Ning Chang, Shiuh-Sheng Yu, Ing-Chau Chang, Chee-Wen Shia, Wen-Chin Chen, Jau-Hsiung Huang Communications

More information

Software Requirement Specification for Web Based Integrated Development Environment. DEVCLOUD Web Based Integrated Development Environment.

Software Requirement Specification for Web Based Integrated Development Environment. DEVCLOUD Web Based Integrated Development Environment. Software Requirement Specification for Web Based Integrated Development Environment DEVCLOUD Web Based Integrated Development Environment TinTin Alican Güçlükol Anıl Paçacı Meriç Taze Serbay Arslanhan

More information

A Web Based Mumps Virtual Machine

A Web Based Mumps Virtual Machine A Web Based Mumps Virtual Machine Kevin C. O'Kane, Computer Science Dept., University of Northern Iowa, Cedar Falls, IA 50614 Elizabeth E. McColligan, Datamedic Corp., 51 Sawyer Rd, Waltham, MA 02154 Abstract

More information