Software Engineering Research at Washington University in St. Louis

3 downloads 0 Views 90KB Size Report
Five faculty members in the Department of Computer Science and Engineering at Washington University in St. Louis are cur- rently engaged in software ...
Software Engineering Research at Washington University in St. Louis Ron Cytron, Christopher Gill, Kenneth Goldman, Chenyang Lu, and Gruia-Catalin Roman cytron, cdgill, kjg, lu, roman @cse.wustl.edu Department of Computer Science and Engineering, Washington University, St. Louis, MO

Five faculty members in the Department of Computer Science and Engineering at Washington University in St. Louis are currently engaged in software engineering research: Ron Cytron, Christopher Gill, Kenneth Goldman, Chenyang Lu, and GruiaCatalin Roman. Dr. Cytron is Director of the Center for Distributed Object Computing, with which Dr. Gill and Dr. Lu are also affiliated. Dr. Goldman leads the Programming Environments Group. Dr. Roman is Director of the Mobile Computing Laboratory. The following projects, sponsored by organizations including NSF, AFRL, and DARPA, are examples of recent software research in our department.

Sensor Network Middleware, Services, and Protocols: Wireless sensor networks are gaining widespread adoption and are running more sophisticated applications, resulting in the need for new programming models and middleware that offer greater flexibility and simplify application development. To address this, we created Agilla [16], a middleware for wireless sensor networks that provides mobile agents (i.e., autonomous programs capable of migrating their code and state across nodes) as the fundamental unit of execution, and inter-agent coordination through localized tuple spaces and acquaintance lists. Agilla has been implemented on a 90 MICA2 mote test bed and several applications including fire tracking, intrusion detect, robot navigation, and inventory management have been implemented. We have also developed spatiotemporal data and query services [17, 18] and node wake-up and topology maintenance protocols [19] for sensor networks.

Programming Environments: Recent work to make both sequential and distributed computing more accessible to novice programmers and end-users [1, 2] includes JPie, an interactive programming environment that enables live construction of Java applications through direct manipulation of graphical representation of programming abstractions. The research foundation for JPie is the dynamic class, whose signature and implementation can be modified at run time. Dynamic classes support live object-oriented software development in which a program can be modified while it is running. Changes to dynamic classes, such as the declaration of instance variables and methods, as well as the modification of statements and expressions within method bodies, take immediate affect on existing instances of those classes. Dynamic classes fully interoperate with compiled classes. Instances of compiled classes may hold typesafe references to instances of dynamic classes, and may call methods on them polymorphically. All of these capabilities are achieved with minimal overhead, and without modification of the language or virtual machine. JPie has been used for several semesters in an introductory computer science course for nonmajors.

Context Awareness: Context-awareness is emerging as an important computing paradigm designed to address the special needs of applications that must accommodate or exploit the highly dynamic environments that occur with mobility. In our work, we seek to develop a systematic understanding of the nature of context-aware computing by constructing a formal model and notation for expressing context-aware computations. We start with the basic premise that, in its most extreme form, context should be made manifest in a manner that is highly local in appearance and decoupled in fact. We assume a notion of context that is relative to the needs of each individual component, and we expect context-awareness to be maintained in a totally transparent manner with minimal programming effort. In developing our model, we build on earlier efforts focused on statebased formal reasoning about mobility and explore the process by which a model such as Mobile UNITY can be transformed to explicitly capture context-awareness. The result of this exploration is a model called Context UNITY [20, 21]. Context Query: Applications designed for ad hoc networks increasingly rely on information located on surrounding hosts to perform their assigned tasks. Allowing the application programmer to treat the network as a single virtual data repository and to utilize a query interface on that abstraction can simplify the task of collecting context information across the rapidly changing network. With this in mind, we propose a query-centered approach to simplifying context interactions in mobile ad hoc network settings. We provide a high degree of flexibility in our approach through the judicious use of mobile code fragments, which allow programmers to tailor a query’s time, communication, and processing costs according to the needs of the application [22]. In addition, our work addresses the wide-range of application needs with respect to the required level of consistency between the returned query result and the actual state of the rapidly changing network.

Real-Time and Embedded Systems: Our recent work on real-time and embeded systems [3, 4, 5, 6, 7] includes optimized middleware, fast searching of magnetic media, hardware/runtime support for object-oriented languages, application of program composition techniques to obtain small-footprint programs for embedded systems, and use of intelligent memory devices to improve the performance of storage management. This work has led to the development of a novel, nontracing garbage collection technique that can collect objects that reference each other. We have also developed new techniques for dynamic and adaptive scheduling of real-time systems [8, 9, 10, 11, 12], and are building formal models of canonical real-time system software mechanisms to support checking of timing and deadlock properties in real-time systems [13, 14, 15]. Authors listed in alphabetical order.

1

Service Provision in Ad Hoc Mobile Computing: The increasing ubiquity of wireless mobile computing platforms has opened up the potential for unprecedented levels of communication, coordination and collaboration among mobile computing devices, most of which will occur in an ad hoc, on-demand manner [23]. This work focuses on a middleware supporting service provision in ad-hoc wireless networks. The aim of the middleware is to provide the software resources on mobile devices that facilitate electronic collaboration. This is achieved by applying the principles of service oriented computing (SOC), an emerging paradigm that has seen success in wired settings. SPAWN [24] is an adaptation and extension of the Jini model of SOC to ad-hoc networks. The key contributions are (1) a completely decentralized service advertisement and request system that is geared towards handling the unpredictability and dynamism of mobile adhoc networks, (2) an automated code management system that can fetch, use and dispose of binaries on an on-demand basis, (3) a mechanism supporting the logical mobility of services, (4) an upgrade mechanism to extend the life cycle of services, and (5) a lightweight security model that secures all interactions, which is essential in an open environment.

[11] X. Wang, H.-M. Huang, V. Subramonian, C. Lu, and C. Gill, “CAMRIT: Control-based Adaptive Middleware for Real-time Image Transmission,” in Proceedings of the 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), (Toronto, Canada), IEEE, May 2004.

References

[17] S. Bhattacharya, O. Chipara, B. Harris, C. Lu, G. Xing, and C.L. Fok, “Demo abstract: Mobiquery - a spatiotemporal data service for sensor networks,” in ACM Conference on Embedded Networked Sensor Systems (SenSys), November 2004.

[12] T. Aswathanarayana, V. Subramonian, D. Niehaus, and C. Gill, “Design and performance of configurable endsystem scheduling mechanisms,” in Proceedings of 11th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), 2005. [13] C. Sanchez, H. B. Sipma, V. Subramonian, C. Gill, and Z. Manna, “Thread allocation protocols for distributed real-time and embedded systems,” in Submitted to FORTE 2005, oct 2005. [14] V. Subramonian, C. Gill, C. Sanchez, and H. B. Sipma, “Composable timed automata models for real-time embedded systems middleware,” in Submitted to EMSOFT 2005, sep 2005. [15] V. Subramonian and C. Gill, “A Generative Programming Framework for Adaptive Middleware,” in Hawaii International Conference on System Sciences, Software Technology Track, Adaptive and Evolvable Software Systems Minitrack, HICSS 2003, (Kona, HW), HICSS, Jan. 2003. [16] C.-L. Fok, G.-C. Roman, and C. Lu, “Rapid development and flexible deployment of adaptive wireless sensor network applications,” in 24th International Conference on Distributed Computing Systems (ICDCS’05), 2005.

[1] K. J. Goldman, “An interactive environment for beginning java programmers,” Science of Computer Programming, vol. 53, pp. 3– 24, Oct. 2004. [2] S. L. Pallemulle, K. J. Goldman, and B. E. Morgan, “Supporting live development of soap and corba servers,” in ICDCS 2005, June 2005. [3] A. Corsaro and R. K. Cytron, “Efficient Memory-reference Checks for Real-Time Java,” in Proceedings of the 2003 ACM SIGPLAN conference on Language, Compiler, and Tools for Embedded Systems, pp. 51–58, ACM Press, 2003. [4] V. Subramonian, G. Xing, C. Gill, C. Lu, and R. Cytron, “Middleware specialization for memory-constrained networked embedded systems,” in Proceedings of 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), 2004. [5] D. V. Schuehler, B. C. Brodie, R. D. Chamberlain, R. K. Cytron, S. J. Friedman, J. Fritts, P. Jones, P. Krishnamurthy, J. W. Lockwood, S. Padmanabhan, and H. Zhang, “Microarchitecture optimization for embedded systems,” in 8th High Performance Embedded Computing Workshop, 2004. [6] T. Mann, M. Deters, R. LeGrand, and R. K. Cytron, “Static determination of allocation rates to support real-time grabage collection,” Proceedings of the ACM Conference on Languages, Compilers, and Tools for Embedded Systems, 2005. To Appear. [7] D. Defoe, S. Cholleti, and R. K. Cytron, “Upper bound for defragmenting buddy heaps,” Proceedings of the ACM Conference on Languages, Compilers, and Tools for Embedded Systems, 2005. To Appear. [8] C. Gill, D. C. Schmidt, and R. Cytron, “Multi-Paradigm Scheduling for Distributed Real-Time Embedded Computing,” IEEE Proceedings, Special Issue on Modeling and Design of Embedded Software, vol. 91, pp. 183–197, Jan. 2003. [9] C. Lu, X. Wang, and C. Gill, “Feedback control real-time scheduling in orb middleware,” in IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), May 2003. [10] C. Gill, J. Gossett, J. Loyall, D. Schmidt, D. Corman, R. Schantz, and M. Atighetchi, “Integrated Adaptive QoS Management in Middleware: A Case Study,” in 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), (Toronto, Canada), IEEE, May 2004.

[18] C. Lu, G. Xing, O. Chipara, C.-L. Fok, and S. Bhattacharya, “A spatiotemporal query service for mobile users in sensor networks,” in International Conference on Distributed Computing Systems (ICDCS), June 2005. [19] S. Bhattacharya, G. Xing, C. Lu, G.-C. Roman, B. Harris, and O. Chipara, “Dynamic wake-up and topology maintenance protocols with spatiotemporal guarantees,” in International Conference on Information Processing in Sensor Networks (IPSN), April 2005. [20] G.-C. Roman, C. Julien, and J. Payton, “A formal treatment of context-awareness (invited paper),” in Proceedings of the 7th International Conference on Fundamental Approaches to Software Engineering (FASE 2004), vol. 2984 of Lecture Notes in Computer Science, pp. 12–36, Springer-Verlag, March/April 2004. [21] C. Julien, J. Payton, and G.-C. Roman, “Reasoning about contextawareness in the presence of mobility,” in Proceedings of the 2nd International Workshop on Foundations of Coordination Languages and Software Architectures (Foclasa ’03), 2003. [22] J. Payton, C. Simon, and G.-C. Roman, “A query-centered perspective on context-awareness in ad hoc networks,” Tech. Rep. WUCSE-05-08, Washington University in St. Louis, 2005. [23] R. Handorean, C. Gill, and G.-C. Roman, “Accomodating Transient Connectivity in Ad Hoc and Mobile Settings,” in Proceedings of the 2nd International Conference on Pervasive Computing (Pervasive) (A. Ferscha and F. Mattern, eds.), no. 3001 in Lecture Notes in Computer Science, pp. 305–322, Springer-Verlag, Apr. 2004. [24] R. Handorean, G.-C. Roman, R. Sen, G. Hackmann, and C. Gill, “Spawn: Service provision in ad-hoc wireless networks,” submitted to IEEE Transactions on Software Engineering.

2