The DOC group at the Institute for Software Integrated Systems (ISIS) is involved in many research projects. The following is a summary of our current projects:
Research on Model-driven Development (MDD) tools for building distributed systems using component middleware technologies like CORBA Component Model (CCM) and service-oriented technologies like Web Services. To this end, we have developed a toolsuite called CoSMIC, a collection of Domain Specific Modeling Languages (DSMLs) and associated infrastructure. Currently, CoSMIC includes:
The Platform-Independent Component Modeling Language (PICML), which enables developers of CCM-based systems to define application interfaces, QoS parameters, and system software building rules, as well as generate valid XML descriptor files that enable automated system deployment.
The Web Services Modeling Language (WSML), which enables development of Web Services, and provides support for key activities in Web Service development, such as creating a model of a Web Services from existing WSDL files, specifying details of a Web Service including defining bindings, and auto-generating artifacts required for Web Service deployment.
The System Integration Modeling Language (SIML), which simplifies integration of systems built using heterogeneous component middleware technologies. SIML is designed to bridge the gap between existing component technologies in which majority of software systems are built, and integration middleware that allow integration of such systems, by automating key aspects of integration including generation of integration glue code, generation of deployment descriptors, and exposing functionality available in one component technology via other technologies. SIML is built using a model composition approach. SIML composes two other DSMLs, CCM profile of PICML and WSML, to create a DSML that is specifically targeted at integration of component middleware.
Currently, the focus of this effort is to use the MDD tools to develop optimization techniques in the system-of-systems context. Funding for this project has come from a variety of sources including the DARPA PCES program, LMCO (Eagan), Raytheon and LMCO( ATL). Primary point of contact is Krishnakumar Balasubramanian.
Developing and applying CIAO Lightweight CORBA Component Middleware (CCM) implementation for DRE systems. Our ongoing effort of CIAO include (1) integrating various publish/subscribe mechanism into CIAO container framework, (2) supporting dynamic redeployment and reconfiguration at runtime without shutting down the application, (3) supporting manipulation of group of components. Primary point of contact is Gan Deng.
Developing the Deployment And Configuration Engine ( DAnCE), which implements the OMG Deployment and Configuration specification. DAnCE leverages domain-specific modeling languages and QoS-enabled component middleware to support (1) dynamically loading component binaries into the target host middleware platform, (2) establishing connections among a set of components, (3) configuring properties of the component instances, (4) efficient storage and retrieval of component implementations, (5) component activation, passivation, and removal semantics within component assemblies, (6) configuring QoS-related server resources, and (7) integrating common middleware services in applications. Primary point of contact is Gan Deng [paper] [slides]
Our ongoing effort of DAnCE include (1) uninterrupted dynamic assembly management, (2) supporting inter-assembly component management, (3) integrating intelligent planners to make effective deployment decisions, such as component dependencies, and (4) benchmarking as well as time/space optimizations.
Research on adaptive resource management middleware and algorithms for providing fault-tolerance for performance-sensitive distributed real-time embedded (DRE) systems. This research is done in collaboration with Chenyang Lu and Christopher Gill.
We have a developed a Fault-tolerant Load-aware and Adaptive middlewaRe (FLARe), which enhances conventional passive replication schemes in three ways. First, its client failover strategy is load-aware and adaptive, i.e., failover targets are determined and proactively adjusted at runtime based on current CPU utilizations, system load fluctuations and resource availabilities to maintain satisfactory response times and alleviate CPU overloads after failure recovery. Second, its overload management strategy maintains satisfactory response times under failure-free scenarios by redirecting clients from processors that are overloaded because of workload fluctuations and multiple failures. Third, FLARe enables effective dissemination of failover and overload management decisions and manages failures and overloads transparently to clients. Information regarding architectural overview and empirical evaluation of FLARe can be found here. Primary point of contact is Jaiganesh Balasubramanian.
We are developing an extensible state consistency managementframework, called ARMADA, on top of the FLARe middleware to provide resource-aware replication management for DRE applications. ARMADA provides a configurable middleware for DRE system developers by providing different transports (such as Data Distribution Service(DDS), CORBA AMI, et.al.) for managing application state consistency amongst the different replicas of an application. Further, ARMADA optimizes resource consumption by tuning the number of replicas that are being made consistent to provide tradeoffs between resource, performance, and availability. Points of contact are Jaiganesh Balasubramanian, Jeff Parsons, and Friedhelm Wolf.
Research on adaptive resource management for distributed real-time embedded (DRE) systems based on control theoretic techniques. This research is in collaboration with Xenofon D. Koutsoukos and Chenyang Lu. To this end, we have developed the following:
We have developed a Hybrid Adaptive Resource Management (HyARM) framework, which provides various system resource monitors, application QoS monitors, and controllers for managing runtime QoS in the context of DARPA ARMS project in conjunction with LMCO ATL. HyARM is developed based on hybrid control theoretic techniques and ensures system resource utilization is maintained within the desired bounds. Application QoS monitors and system resource constantly observe application performance and system resource utilization respectively. The controller ensures desired system performance, both application QoS and resource utilization, even in varying and open operational context. Information regarding architectural overview and empirical evaluation of HyARM can be found here.
To address key resource management challenges of open DRE systems that arise due to their inherent characteristics which include no accurate apriori knowledge about operational conditions, input workload, and resource availability, we have developed the Hierarchical Distributed Resource-management Architecture (HiDRA). HiDRA provides adaptive resource management using control theoretic techniques that adapt to workload fluctuations and resource availability for both bandwidth and processor utilization simultaneously. Information regarding architectural overview and empirical evaluation of HiDRA can be found here.
Primary point of contact is Nishanth Shankaran.
Resource Allocation and Control Engine (RACE) is being developed for LMCO ATL and LMCO ATC to perform resource allocation and management for DRE systems. RACE performs initial allocation of resource such as memory, computational power, network bandwidth, etc, as well as manage application QoS and system resource utilization in various operating conditions by performing necessary control actions. For further details on the design and architecture of RACE, please see our RACE overview paper. Points of contact are William Otte , and Nishanth Shankaran.
Developing fault tolerance capabilities in CIAO CORBA Component Model (lightweight) which will enhance the reliability and dependability of component based middleware applications. Fault tolerance for CORBA components can be achieved via replication, fault detection, and recovery. In general, research on fault tolerance for CORBA ORBs and its applications can be divided into the three strategies, an integration strategy, an interception strategy, and a service strategy. We are following the service strategy which can be supported without extensive modifications to CORBA ORBs. Our solution will exploit the existing features of TAO such as, Inter-operable Object Group References (IOGR), Portable Groups and Pluggable Protocol Architecture. Points of contact are Jaiganesh Balasubramanian and Aniruddha Gokhale. We are also using emerging Model-driven Development techniques to alleviate the complexity of development of large-scale, distributed DRE systems to separate out the fault tolerance concern from other system development concerns. Recent developments in the generative technologies are leveraged to generate fault-tolerance infrastructure components from models. The points of contact are Sumant Tambe, and Aniruddha Gokhale.
Reliable group communication protocols can be exploited to support active replication in fault-tolerant DRE systems. One such protocol is the Spread Group Communication Toolkit. We are developing a pluggable transport protocol called SIOP (Spread Inter ORB Protocol) into The ACE ORB (TAO) using a sophisticated framework called Pluggable Protocol Framework of TAO. This allows CORBA applications to use Spread as their underlying transport mechanism. Group communication semantics of Spread allows communication with a group of CORBA servers replicated based on active replication. The points of contact are Sumant Tambe and Aniruddha Gokhale.
Distributed real-time and embedded (DRE) systems consist of performance-sensitive applications that are deployed in resource-constrained environments and have diverse CPU and network quality-of-service (QoS) requirements. Coordinated allocation of CPU and network resources are required so that multiple DRE applications can effectively share the available resources and have their QoS requirements satisfied end-to-end. Although CPU QoS mechanisms, such as bin-packing algorithms, and network QoS mechanisms, such as differentiated services (DiffServ), can manage a single resource in isolation, relatively little work has been done on QoS-aware mechanisms for managing multiple heterogeneous resources in a coordinated, integrated, and non-invasive manner to support end-to-end application QoS requirements.
We are developing a model-driven component middleware framework called NetQoPE that shields applications from the complexities of lower-level CPU and network QoS mechanisms by simplifying (1) the specification of per-application CPU and per-flow network QoS requirements, (2) resource allocation and validation decisions (such as admission control), and (3) the enforcement of per-flow network QoS at runtime. Information regarding architectural overview and empirical evaluation of NetQoPE can be found here. This work is done in collaboration with Balakrishnan Dasarathy at Telcordia Technologies. Points of contact are Jaiganesh Balasubramanian, Sumant Tambe.
In conjunction with Adam Porter, we are putting together a large (i.e., 100+ CPU) testbed funded by ONR and NSF for running distributed continuous quality assurance tests to check the functional and QoS behavior of software (including, but not limited to ACE, TAO, and CIAO) as part of the Skoll project. Please see Skoll home page for more info on what we are doing here. The point of contact here is Douglas C. Schmidt.
We are developing capabilities to dynamically update component implementations without incurring system runtime via extensions to the server portion of the Lightweight CORBA Component Model. A paper describing this capability in CIAO is available here. The point of contact is Jaiganesh Balasubramanian.
We are developing techniques and tools for specializing/optimizing middleware for product-line architecture (PLA)-based DRE systems using partial evaluation techniques in conjunction with John Hatcliff et al. at KSU. An overview of this approach is described in this paper. The point of contact is Arvind Krishna.
We are developing MTS (Model-transformation Templatization and Specialization), that enables model transformation developers to write reusable, templatized model transformations. MTS defines two higher order transformations to capture the variability and to specialize the transformations across variants of an application family.The point of contact is Amogh Kavimandan.
Together with researchers at Avaya Labs Research, we are applying MTS for the synthesis of context-sensitive dialog families in enterprise communications. The use of MTS in this context has shown significant improvement in the design and development processes and has been shown to support the evolution of communication endpoints and system requirements with a minimum of downtime and invasive design changes. More details on this application of MTS is described in this paper. The point of contact is Amogh Kavimandan.
Quite often the modeling tools used in the development lifecycle of distributed real-time and embedded (DRE) systems are middleware-specific, where they elevate middleware artifacts, such as configuration options, to first class modeling entities. Unfortunately, this level of abstraction does not resolve the complex issues in middleware configuration process for QoS assurance. We have developed GT-QMAP (Graph Transformation for QoS MAPping) model-driven engineering toolchain that combines (1) domain-specific modeling, to simplify specifying the QoS requirements of DRE systems intuitively, and (2) model transformations, to automate the mapping of domain-specific QoS requirements to middleware-specific QoS configuration options. A paper describing our approach is available here. The point of contact is Amogh Kavimandan.
We are developing an MDD-based middleware suite for the BEEP protocol framework under funding from Cisco. The points of contact are Will Otte, Jules White and Thomas Seabrooks.
Modeling scalability challenges for large systems. Model-driven engineering (MDE) is a promising form of system development that combines high-level visual abstractions that are specific to a do�main with con�straint checking and code-generation to simplify software development. As model-based tools and methodologies have evolved, however, it has become clear that in certain domains, such as distributed real-time and embedded (DRE) systems, the models are so large and the domain constraints so intricate that it is ex�tremely hard for modelers to manually produce correct and high-quality models. In these domains, modeling tools that only provide solution-correctness checking via constraints provide few benefits over conventional hand-crafted development methods since the key complexity in these domains is their large model sizes and combinatorial constraints, not code construction per se. To address the challenges of modeling large and combinatorially challenging domains, we have developed Model Intelligence Guides (MIGs). MIGs address the challenges of modeling large and complex domains by: providing constriant solver frameworks that respect domain-specific concepts from the modeling tool and provide a flexible mechanism for specifying solvers using domain notations, providing mechanisms for guiding modelers towards solutions considered optimal (or sufficient) based on do�main-specific quality metrics, and automating tedious and complex modeling tasks, such as solv�ing for and assigning values for global constraints, performing repetitive localized decisions, or providing feedback to a modeler to suggest valid modeling decisions.http://www.dre.vanderbilt.edu/~jules/gems.htm The point of contact is Jules White.
In conjunction with PrismTech, IBM, and Siemens, We have developed the Generic Eclipse Modeling System (GEMS), which is a configurable toolkit for creating domain-specific modeling and program synthesis environments for Eclipse. The configuration is accomplished through metamodels specifying the modeling paradigm (modeling language) of the application domain. The modeling paradigm contains all the syntactic, semantic, and presentation information regarding the domain; which concepts will be used to construct models, what relationships may exist among those concepts, how the concepts may be organized and viewed by the modeler, and rules governing the construction of models. The modeling paradigm defines the family of models that can be created using the resultant modeling environment. More information is available from: http://www.dre.vanderbilt.edu/~jules/gems.htm The point of contact is Jules White.
We have developed FireAnt, which is a tool used to address the challenges of deploying and configuring EJB applications. FireAnt is a model-driven tool designed to improve deployment plan correctness by (1) visually capturing the components that need to be deployed and their dependencies, (2) describing the target infrastructure required for the deployment, (3) visually specifying which components are to be deployed and configured on which machines, (4) visually specifying the configuration of the components on each target, and (5) providing constraint solvers to find deployments that meet the resource and configuration constraints. FireAnt's constraint solvers can optimize for various criterias, such as total nodes used or total node cost. FireAnt has been developed in conjunction with Siemens and LMCO. The point of contact here is Jules White.
We are working in conjunction with Siemens and LMCO to develop advanced model analysis techniques based on viewing models as knowledge bases. Our case studies investigate using Prolog to generate optimal component placements. We are also investigating techniques for using Prolog based intelligence to guide the user in construction of correct component placement models. The point of contact is Jules White.
We have developed the J3 Process, which is an open-source MDD environment that supports the rapid design and implementation of autonomic applications. J3 consists of several MDD tools and autonomic computing frameworks, including (1) J2EEML, which captures the design of EJB applications, their quality of service (QoS) requirements, and the autonomic adaptation strategies of their EJBs via a domain-specific modeling language (DSML), (2) Jadapt, which is a J2EEML model interpreter that analyzes the QoS and autonomic properties of J2EEML models, and (3) JFense, which is an autonomic framework for monitoring, configuring, and resetting individual EJBs. The point of contact is Jules White.
We are developing a patterns-driven design of a operating systems simulator project called Visual OSimulator. It is a framework used to assist students in understanding operating system concepts though visualization. It also provides students with self-configurable artifacts to permit a more in-depth understanding of various operating system concepts such as memory management and process management. Some of the recent results were presented at the OOPSLA Educator symposium in 2005. Please see Visual OSimulator home page for more information. The point of contact for this work is James H. Hill.
We are developing a system execution modeling tool called the Component Workload Emulator (CoWorkEr) Utilization Test Suite (CUTS) to evaluate the performance of Service-Oriented Architecture (SOA) middleware. SOA middleware is becoming popular for enterprise distributed real-time and embedded systems, such as shipboard computing environments and power grid control systems, because it provides effective reuse of the core intellectual property (i.e., the "business") of an enterprise. However, SOA-based enterprise DRE systems incur a new set of system integration problems associated with configuration and deployment of components. As a result, the integration phase has become harder and more time-consuming. CUTS is an system evaluation tool that allows system developers to model the behavior of their system within our toolset and enhance system quality properties well before the final integration phase. Please see CUTS home page for more information. The point of contact for this work is James Hill.
An NSF sponsored project with some colleagues from other schools on using performance analysis tools for design-time performance analysis of DRE systems, which are composed from patterns-based building blocks. Primary point of contact is Aniruddha Gokhale.
We are collaborating with CMU, Cornell, UC Berkeley, and Stanford on a new NSF-sponsored Science and Technology Center called TRUST. TRUST is devoted to developing new science and technology that will radically transform the ability of organizations (software vendors, operators, local and federal agencies) to design, build, and operate trustworthy information systems for our critical infrastructure.
We are working on the Future Combat System (FCS) project in conjunction with Boeing. Our focus is on software architectures for distributed systems of systems.
We are developing RepositoryManager, which is a CORBA object that goes along with DAnCE. RepositoryManager keeps track of software versions, implementations, and configuration metadata in distributed computing environment to enable the (re)deployment and (re)configuration of applications and facilitates online component upgrades. RepositoryManager allows component developers to store component packages, which include component implementations and configurations, into a named repository, and retrieve, update and delete them on demand at runtime. Primary point of contact is Shanshan Jiang and Stoyan Paunov.
We are developing TargetManager which is a CCM infrastructure component that go along with DAnCE. TargetManager manages information about the domains into which applications can be deployed. A domain is a set of interconnected nodes with bridges routing between interconnects. This data can be used for planning a deployment in an efficient manner. TargetManager also records run-time resource availability data using distributed resource monitors across the domain. This data can be used by control algorithms for re-deployment of the application. TargetManager uses a generic framework on which new monitors can be plugged in. At present the Target Manager provides processor usage of the hosts used in the deployment. It also records the % CPU usage of the component server processes which host components. Target Manager also monitors all events related to resources in the domain such as node-failure or new nodes. It propagates these events to who-ever is interested. Our current research is about how to extract resource usage for each component and also to capture all interesting events in the domain related to the infrastructure and provide them to the end-user.Primary point of contact is Nilabja Roy.
In collaboration with Object Computing Inc and Boeing, we are investigating Data Distribution Service, a new OMG specification for data-centric publish-subscribe DRE systems. Previous effort have been focused on evaluating different DDS implementations (both COTS and Open Source versions), comparing their real-time performance against each other as well as against other publish-subscribe mechanisms, i.e. Java Messaging Service, TAO Notification Service. We are currently in the process of carrying out a bunch of new tests in our 56 dual-CPU testbed called ISISLab. New tests will cover a broader range of DDS QoS parameters, as well as evaluate scalability of DDS compared to other pub/sub mechanisms. The analysis of the result will help us in the future to integrate DDS capabilities into our CIAO framework. For more information please visit DDS Benchmark home page. Primary points of contact are Ming Xiong and Jeff Parsons.
In collaboration with Siemens, we are investigating techniques for minimizing domain evolution impacts on MDD-based Product-Line Architectures for DRE systems, which involves both patten-oriented solution for domain-specific framework evolution and domain model transformations. Primary point of contact is Gan Deng.[paper] [slides]
We are working on a model-driven approach which would enable system developers to create a configurable and composable middleware system based on pattern-based building blocks. We envision that the developer would also be able to fine-tune this system for specific QoS requirements by configuring the system options at a human-perceivable level of abstraction. We are also working on modeling the system workload so that the system designer would be able to evaluate the performance of each configuration of the composed system at design time. Primary points of contact are Dimple Kaul and Arundhati Kogekar.
In collaboration with Advanced Computing Center for Research and Education (ACCRE) we are looking for different ways to optimize/improve and add new feature set using Aspect Oriented Programming techniques to Logistical storage (L-Store) application. L-Store is a distributed file storage system which is used to store arbitrary size data. For more information visit ACCRE Primary points of contacts are Dimple Kaul and Aniruddha Gokhale
We are developing a tool called the XML Schema Compiler (XSC), which generates a C++ data structures and parsing code for data contained in schema based XML documents. This tool is currently used as part of the DAnCE toolchain to parse XML meta-data. Future plans include full schema support and an IDL mapping. Primary point of contact is William Otte.
We are developing, analyzing, empirically evaluating, and optimizing technologies that can support the Air Force Global Information Grid (GIG) real-time and secure quality of service (QoS) needs, such as specifying and enforcing QoS policies that capture commander's intent and ensure the preservation of information priorities and differentiated flows of information securely and predictably through the GIG. This effort is addressing QoS-enabled GIG needs, focusing on solutions that leverage and enhance commercial-off-the shelf (COTS) and standards-based technologies, as well as integrate with heterogeneous legacy systems. Primary point of contact is Jeff Parsons.
We are working with Cornell University to develop ADAptive Middleware and Network Transports (ADAMANT). This work incorporates a flexible network transport framework with various Data Distribution Service (DDS) implementations. Specifically, we are working to integrate the Ricochet transport protocol with the OpenDDS and OpenSplice DDS implementations. Additionally, we have developed a domain specific modeling language (DSML) called DDS QoS Modeling Language (DQML) for options configuration of the Object Management Group's (OMG) Data Distribution Service (DDS) specification. This will allow correct-by-construction semantics for the interaction of the many different quality of service (QoS) options that are available for DDS. Primary point of contact is Joe Hoffert.
We are working with Lockheed Martin Advanced Technology Center to develop the Spreading Activation Partial Order Planner (SA-POP). SA-POP performs mission planning in NASA space systems, such as multi-satellite systems that collect and analyze significant quantities of atmospheric and earth surface data to accurately predict climate, weather, and occurrence of natural hazards. SA-POP combines a decision-theoretic planning approach to handling uncertainty and goal priorities with scheduling of tasks under resource constraints. It is being developed to work in conjunction with RACE for DRE systems utilizing a component middleware infrastructure. This combination of (re)planning and scheduling under uncertainty with the allocation and control capabilities of RACE enables the efficient implementation of autonomy in complex systems. Primary point of contact is John Kinnebrew.
The dynamic nature of mobile ad hoc networks poses fundamental challenges to the design of service composition and recovery schemes that can minimize the effect of service disruptions. Based on dynamic programming theory, we are developing a service composition and recovery framework and algorithms designed to achieve minimum service disruptions for mobile ad hoc networks with uncertain node mobility. Primary point of contact is Shanshan Jiang.
Please let us know if you have any questions or comments.Aniruddha Gokhale Douglas C. Schmidt