Devdatta Kulkarni

PhD Candidate (Expected Graduation - December 2008)
University of Minnesota Twin Cities
dkulk at cs dot umn dot edu

Currently exploring job opportunities. Here is my CV and Research Statement


Research Interests

  1. Software Architecture
  2. Generative Programming Techniques
  3. Programming Frameworks, Middleware architectures
  4. Distributed system security and fault-tolerance
  5. Context-aware applications, Pervasive/ubiquitous computing, Smart Environments
  6. Mobile agents
  7. Workflow systems and applications

Doctoral Research

Title: Specification-based Programming Framework for Building Context-Aware Applications. (Expected December 2008)
Advisor: Dr. Anand Tripathi
School: University of Minnesota Twin Cities

Abstract

Designing context-aware applications is a complex task. The complexity arises due to the need of designing appropriate context models and extensive context detection infrastructure. Moreover, applications need to be designed to adapt based on context conditions. Appropriate protocols and adaption models need to be integrated in an application's design. The typical context-based adaptive characteristics of context aware applications include context-based reconfiguration, context-triggered actions, context-based information access, context-based access control and multi-user coordination Context-based reconfiguration refers to dynamic integration of resources/services within an application based on context information. Context-triggered actions correspond to application tasks that are automatically executed when certain context conditions arise. Context-based information access consists of modulating the information that is being accessed based on the current context. In context-based access control, context information, such as user location, time of day, etc. is used in performing access control decisions. Context-based multi-user coordination extends the traditional CSCW requirements of user coordination with the context information associated with the participating users.

In this thesis we take a specification-based approach for building context-aware applications. In our approach, the design of a context-aware application is specified using a high level programming model, which is expressed in XML. From this specification, the application's runtime environment is generated and executed by a middleware. In each active space, this middleware provides services for resource registration/discovery, location-independent naming, and context detection by aggregating sensor data and events. The main advantage of our approach is that the task of developing context-aware applications is simplified because of the following reasons. Because the runtime environment for the application is automatically generated and maintained by the middleware, the programmer is relieved from the task of writing code for resource discovery and binding, and protocols for context-based access control.

There are three contributions of this thesis. First, we develop a programming framework for context-aware applications. The salient features of this framework include constructs for context-based service discovery/binding, context-based access control, context-triggered actions, and context-based multi-user coordination. We also develop an agent-based distributed architecture for aggregating sensor data and building high-level context information. Second, we develop a context-aware RBAC model for addressing the unique access control requirements of context-aware applications. These include context-based user admission to roles and role membership revocations, context-based permission executions and revocations, support for role member specific permissions, role permission adaptation corresponding to dynamic binding of an application with environmental services, and context-based selection and access to resources managed by environmental services. Third, we develop an exception handling model for context-aware applications. The salient feature of this model is the provision for user participation in exception handling actions. We validate our programming framework through design and implementation of four context-aware applications that include a context-aware music player, a context-aware patient information system, a context-aware distributed meeting, and a context-aware museum information system.

Publications

  1. Application-level Recovery Mechanisms for Context-Aware Pervasive Computing  . Devdatta Kulkarni and Anand Tripathi.
    To appear at IEEE SRDS 2008 (Acceptance Rate = 25%).
  2. Context-Aware Role-based Access Control in Pervasive Computing Systems  . Devdatta Kulkarni and Anand Tripathi.
    Proceedings of the 13th ACM Symposium on Access control models and technologies (ACM SACMAT) (Acceptance Rate = 25%).
  3. Programming Framework for Sensor-data Driven Context-Aware Applications.   Devdatta Kulkarni.
    SIGBED Review, 5(1), January 2008. Special Issue on the RTSS Forum on Deeply Embedded Real-Time Computing.
  4. Building Context-Aware Healthcare Applications using a Generative Programming Framework.   Devdatta Kulkarni and Anand Tripathi.
    In Workshop on Software and Systems for Medical Devices and Services 2007. In conjunction with IEEE Real Time Systems Symposium (RTSS) 2007.
  5. Generative Programming Approach for Building Pervasive Computing Applications.   Devdatta Kulkarni and Anand Tripathi.
    In IEEE Workshop on Software Engineering of Pervasive Computing Applications, Systems, and Environments (SEPCASE'07).
    In conjunction with IEEE International Conference on Software Engineering (ICSE) 2007.
  6. Autonomic Configuration and Recovery in a Mobile Agent System for Distributed Event Monitoring System.  
    Anand Tripathi, Devdatta Kulkarni, Harsha Talkad, Muralidhar Koka, Sandeep Karanth, Tanvir Ahmed, and Ivan Osipkov.
    Software - Practice and Experience. 37(5) (2007) 493-522.
  7. Exception Handling in CSCW Applications in Pervasive Computing Environments.   Anand Tripathi, Devdatta Kulkarni, and Tanvir Ahmed.
    In Advanced Topics in Exception Handling Techniques. Volume 4119. Springer LNCS (2006) 161-180.
  8. A Specification Model for Context-based Collaborative Applications.   Anand Tripathi, Devdatta Kulkarni, and Tanvir Ahmed.
    In Pervasive and Mobile Computing (PMC) Journal, Elsevier, 1(1), 21-42, 2005.
  9. Policy-Driven Configuration and Management of Agent Based Distributed Systems.   Anand Tripathi, Devdatta Kulkarni, and Tanvir Ahmed.
    In Software Engineering for Large-Scale Multi-Agent Systems (SELMAS'05), 15-16 May 2005, St. Louis, Missouri, USA.
  10. Context-Based Secure Resource Access in Pervasive Computing Environments.
    Anand Tripathi, Tanvir Ahmed, Devdatta Kulkarni, Richa Kumar, and Komal Kashiramka.
    In 1st IEEE International Workshop on Pervasive Computing and Communications Security (IEEE PerSec'04), 2004.

Master's Research

Title: Using Dynamic Network Information to Improve the Runtime Performance of Distributed Sparse Linear System Solution (June 2002)
Advisor: Dr. Masha Sosonkina
School: University of Minnesota Duluth.

Abstract

Scientific distributed iterative applications show alternating computation communication pattern. Local computation phase is followed by a communication phase in which the local solutions are exchanged with the neighbors. This behavior continues until the convergence of the iterative system is achieved. Communication phase for a node is said to have completed when the data is available from the required neighbors of the node. Dynamic network conditions can affect the communication phase of the application resulting in an uneven communication waiting time for some nodes. Under normal circumstances the application will wait idly for the communication phase to complete. It is possible to provide the dynamic network information to the application so that the application can adapt itself at the runtime. An adaptation strategy for a distributed iterative application is to engage it in more local computations based on the knowledge of the current network conditions.

In this thesis we show how a distributed sparse linear system solving application, a parallel version of Algebraic Recursive Multilevel Solver, can adapt itself dynamically to the current network conditions. A balanced parallel execution, which leads to a better iterative convergence, is observed due to the presented adaptations.

Publications

  1. Dynamic Network Information Collection for Distributed Scientific Application Adaptation.   Devdatta Kulkarni and Masha Sosonkina.
    In International Conference on High Performance Computing (HiPC 2002), Sartaj Sahni, Victor K. Prasanna, and Uday Shukla (eds.),
    Lecture Notes in Computer Science, 2552, Springer-Verlag, Berlin, 2002, pp. 555-563

  2. A Framework for Integrating Network Information into Distributed Iterative Solution of Sparse Linear Systems.   Devdatta Kulkarni and Masha Sosonkina.
    In High Performance Computing and Computational Science - VECPAR 2002, J M.L.M Palma, J Dongarra, Vicente Hernandez, and A. A. Sousa (eds.),
    Lecture Notes in Computer Science, 2565, Springer-Verlag, Berlin, 2002, pp. 436 - 450.

Other Research Experience

  1. Ajanta - Mobile Agent Programming University of Minnesota Twin Cities (August 2004 - Present)
    (Mentor: Dr. Anand Tripathi)
    Ajanta is a programming framework for distributed mobile agent programming. Working as a support person and a developer on this project.

  2. Konark - Agent-based System for Distributed Event Stream University of Minnesota Twin Cities (August 2004 - Present)
    (Mentor: Dr. Anand Tripathi)
    Konark is a distributed mobile agent based system for distributed event data stream monitoring, aggregation, and processing. Working as a developer and maintenance person for this project.

  3. pARMS: parallel Algebraic Recursive Multilevel Solvers , University of Minnesota Twin Cities (June 2002 - December 2002)
    (Mentor: Dr. Yousef Saad)

  4. Computational Mathematics Laboratory, Tata Institute of Fundamental Research (Pune, India) (June 2001 - August 2001)
    (Mentor: Dr. Narendra Karmarkar)

  5. NICAN - Network Information Collection and Application Notification, University of Minnesota Duluth (August 2001 - April 2002)
    (Mentor: Dr. Masha Sosonkina)

Teaching Experience

  1. International Instructor, Center for Teaching and Learning Services, University of Minnesota Twin Cities, June 2004.
    Trained International Teaching Assistants in the Department of Computer Science, University of Minnesota Twin Cities.

  2. Teaching Assistant, Department of Computer Science, University of Minnesota Twin Cities, 2002 - 2004.
    Courses: Introduction to Operating Systems, Internet Programming, Introduction to C/C++ Programming for Scientists and Engineers, Graduate Operating Systems.

  3. Teaching Assistant, Department of Computer Science, University of Minnesota Duluth, 2000 - 2002.
    Courses: Computer Science I, Computer Science II, Computer Organization and Architecture, Computer Networks.

Sample Teaching Evaluations


Professional Activities

Refereed papers for

Conferences

  1. IEEE International Conference on Pervasive Computing and Communications (PerCom 2005, 2006, 2007, 2008)
  2. IEEE International Conference on Autonomic Computing (ICAC 2005)
  3. International Conference on Dependable Systems and Networks (DSN 2005)
  4. Annual International Computer Software and Applications Conference (COMPSAC 2004, COMPSAC 2006)
  5. IEEE Conference on e-Business Engineering (ICEBE 2005)
  6. IEEE Symposium on Reliable Distributed Systems (SRDS 2003, 2007)
  7. The Second International Workshop on Trusted Collaboration, 2007 (TrustCol-2007)
  8. The 2007 International Conference on Parallel Processing (ICPP-07)
  9. IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC'06)
  10. The 3rd International Conference on Ubiquitous Intelligence and Computing (UIC-06)
  11. International Workshop on Distributed Computing (IWDC)

Workshops

  1. SELMAS 2006
  2. ECOOP 2006
  3. SEPCASE 2007

Referred at least one paper for each of the following journals.

  1. Elsevier Pervasive and Mobile Computing (PMC)
  2. ACM Transactions In Computing
  3. GeoInformatica
  4. CACM

Workshop Organization

Helped in arranging IEEE Workshop on Software Engineering of Pervasive Computing Applications, Systems, and Environments (SEPCASE'07). Held in conjunction with IEEE International Conference on Software Engineering (ICSE) 2007