Technology Symposium banner
Tech Symposium Project List Tech Symposium Table of Contents MITRE home page

Computing and Software -- Projects

pixel spacer

Computing and Software

Computing and Software maintains awareness of developments outside MITRE related to the technologies of computer architecture and engineering, computer science, software engineering and the software profession.


High Confidence Software Containers

Gary Vecellio, Principal Investigator

Washington only

Problem
For the majority of HCS systems, development and validation of software is more difficult than for "ordinary" systems. In addition, HCS validation is generally brittle, making it expensive and time consuming to modify and revalidate a system once it has been deployed. To support the increasing reliance on software in critical systems, more cost effective techniques for building HCS need to be developed and HCS must be made more resilient in the presence of evolving requirements or configurations.

Objectives
Our objective is to investigate the augmentation of currently available container technologies to make HCS easier, quicker, and more cost effective to build, maintain, and modify. To that end, we will investigate and incorporate currently available and effective HCS techniques into an open source software container.

Activities
We will investigate how to apply HCS techniques to container technology and we will augment an open source Enterprise Java Bean (EJB) container to support the development and deployment of HCS. Our augmented container will be demonstrated at the MTP Symposium. We will document the results of our investigations in a MITRE report.

Impacts
We will use our results to influence the direction of software container standards (e.g., J2EE, Openwings) and also influence the way our sponsors (e.g., Defense Information Infrastructure Common Operating Environment (DII COE)) utilize software containers.

Project Summary Chart Presentation [PDF]

High Confidence Software Research Initiative

Chuck Howell, Principal Investigator

Washington only

Problem
Across MITRE, a key aspect of our sponsors' systems is an increasing reliance on software. Both the complexity and the consequences of failure of these software-intensive systems are steadily growing. For critical software, our reach exceeds our grasp, yet our reach keeps increasing. For many of the critical systems our nation increasingly depends on, software is the weakest link.

Objectives
This project aims to improve the ability to build, assess, and sustain those complex software systems for which compelling evidence is required that the software delivers a specified set of services in a manner that satisfies specified critical properties. The organizing framework for this research is the collection and analysis of technical evidence from multiple sources to calibrate if the confidence is justified for a given software system.

Activities
We are developing a set of canonical problems for evaluating the relevance of various techniques. We have established a Center Liaison Panel with one or more members from each Operating Center, and we are collaborating with the NSF, SEI, and others. We are pursuing focused investigations of aspects of formal methods, testing, model checking, and process guidance, along with increased rigor for calibrating software and for combining sources of evidence. We are concentrating on the challenges introduced by the revalidation or certification of existing systems that are evolving rapidly.

Impacts
The vision for this initiative is a self-sustaining role for MITRE as a national resource for HCS. If this is a vision and not a hallucination, the impacts include reduced risks of unexpected software failures in critical systems, more effective exploitation of software capabilities in modernization and transformation, and a significant contribution to the national interest.

Project Summary Chart Presentation [PDF]

Integrated Services Management for C2

John A. Maurer, Principal Investigator

Bedford only

Problem
The IC2S must be capable of adapting to a dynamically changing environment and dynamically changing mission needs. We have identified critical distributed computing technologies that facilitate constructing such systems. The ISM project will accelerate the commercial availability of these technologies through leadership in Java standardization activities.

Objectives
The objective of this project will be an approved extension to the Java platform enabling real-time distributed applications to be developed using Java. This will extend the scope of real-time Java from single node to distributed applications. The immediate form of this extension (and the desired outcome of this project) will be a complete, approved specification-including a reference implementation and test suite. It is anticipated that commercial vendors will implement products based on the specification and reference implementation, which can then be used for building adaptable, scalable C2 systems.

Activities
As part of this project, we will organize and lead an industry-wide Expert Group under the auspices of the Sun Community Process for Java. This Expert Group will be responsible for reaching consensus on the specification for Distributed Real-time Java. In addition to leading the Expert Group, the project team will participate in the specification process itself, initiate and lead technical investigations, and develop the reference implementation and test suite. During the course of this activity, we anticipate publication of several technical papers and the preparation of several technology demonstrations.

Impacts
This task is unique in that immediate technology transition to industry is an integral and automatic part of the work. MITRE is leading the Expert Group that is creating the Distributed Real-Time Specification for Java (DRTSJ), as part of Sun's Java Community Process. The DRTSJ includes a specification document, a reference implementation, and a conformance test suite. When completed, these all will be freely available on Sun's website, to facilitate the development of COTS distributed real-time Java products.

Project Summary Chart Presentation [PDF]

Polymorphous Computing Architectures (PCA)

Alan Piszcz, Principal Investigator

Washington only

Problem
Current computational architectures in high performance applications require unique digital signal processing and stream processing hardware designs. Development costs, maintenance and system production are driven by the uniqueness of the components and the programming effort to create the system application.

Objectives
PCA developments will enable payload adaptation, optimization, and verification to be reduced from years to days to minutes. The PCA program will replace the current "hardware first and software last" development cycle by moving beyond conventional fixed silicon processing architectures to flexible polymorphous computing systems. Polymorphic is defined as having, taking, or passing through many different forms or stages (i.e., many + form).

Activities
The project will provide identification of opportunities to exploit PCA capabilities in the C4ISR domain, expose PCA system requirements to the research community, explore hardware and software resource management issues using Quality of Service (QoS) metrics, develop a SAR application description and software demonstration, and collaborate with the Morphware forum to facilitate future software libraries in support of PCA.

Impacts
The project will lead to improved understanding of PCA systems architecture as it relates to defense applications, and will obtain PCA community feedback of prototype applications lessons learned to evolve the requirements in software and hardware architecture. It will also identify opportunities for future research through improvement in system performance, software development, and architecture issues as they relate to C4ISR target applications.

Project Summary Chart Presentation [PDF]

Understanding Object-Oriented Software

Melissa Chase, Principal Investigator

Bedford and Washington

Problem
While object-oriented approaches to software development promise to provide solutions that are faster, cheaper, and reusable, the software delivered contains enough indirection (via inheritance and polymorphism) to make it more difficult for analysts to understand object-oriented versions compared to strict procedural versions. Through understanding object-oriented code, we can assess qualities such as performance and security, support iterative development, and support reuse.

Objectives
The work of the design pattern software-engineering community provides us with descriptions of best practices, applicability conditions, and consequences of use for specific designs. Hence, we will develop the capability to automatically recognize use of design patterns through static reverse engineering techniques. Moreover, we will develop capabilities to reason about concomitant design rationale and software qualities.

Activities
We are using commercial integrated development environments to extract data on class interactions. First, we will concentrate on structural patterns and validating recognition results by examining software that contains intentional, documented use of patterns. Second, we will broaden this to cover architectural patterns and reasoning about pattern applicability conditions. Third, we will tackle the interplay among multiple pattern types within a single program.

Impacts
Our results will have direct impact on supporting software acquisition. We will be able to document legacy and newly developed software and be able to perform architectural compliance tasks. This work is also a prerequisite for static software vulnerability and malicious code analysis. We will connect with projects where there is an anticipated need for this within the next fiscal year.

Project Summary Chart Presentation [PDF]

pixel spacer

Technology Areas

Architectures

Collaboration and Visualization

Communications and Networks

Computing and Software

Decision Support

Electronics

Human Language

Information Assurance

Information Management

Intelligent Information Processing

Investment Strategies

Modeling, Simulation, and Training

Sensors and Environment

Other Projects