| 2004 Technology
Symposium > Computing and Software
Computing and Software
The mission of the Computing and Software Area Team is to maintain 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 Research Initiative
Chuck Howell, Principal Investigator
Location(s): Washington
Problems 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 complex software systems for which compelling evidence is required that the software delivers a specified services in a manner that satisfies specified critical properties. The framework for this research is the collection and analysis of technical evidence from multiple sources to calibrate if confidence is justified for a given software system. Activities The centerpiece of the project is the "assurance case," a tangible means for expressing and documenting the claims that a system can be trusted to manifest identified critical characteristics. The assurance case structures the arguments for trusting the system and organizes the evidence that supports the arguments and claims. We also develop technology summaries of approaches to developing high-confidence software systems. Impact Underlying this initiative is a vision of a self-sustaining role for MITRE as a national resource for high confidence software. 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.
^TOP
High Productivity Computing Systems (HPCS)
David Koester, Principal Investigator
Location(s): Washington
^TOP
Internal SourceForge (iSF)
Deborah Ercolini, Principal Investigator
Location(s): Washington and Bedford
Problems Software development at MITRE is a non-standard process; it varies depending on the center, department, and/or project. Software development projects often face a large startup cost due to the project manager and/or developers having to establish processes and functional systems. We will help to solve this by giving users access to a set of software development tools. Objectives We will pilot a SourceForge server internal to MITRE, providing a single interface for all software development projects. Developers and project managers will have access to software development tools and resources. SourceForge has many capabilities, including configuration management, bug tracking, task management, and file releases. Analysis of the pilot will help us to understand the requirements of the MITRE software development community. Activities A SourceForge server will be installed within MITRE. We will integrate the MITRE LDAP (Lightweight Directory Access Protocol) servers, allowing a user to log on using his/her standard MII username/password. We will also integrate MITRE mailing lists. Throughout this pilot, we will monitor the use of the system and conduct surveys to better understand the requirements of a software development resource. Impact We believe this pilot will improve software development by providing a single source for tools and resources. Developers and project managers have been requesting this service for some time. If the pilot program is successful, it will provide a consistent way of managing and accessing software development projects, and we will be able to make recommendations for a supported software development system.
^TOP
Node Information Services: Design Patterns for the C2 Enterprise
Ray Modeen, Principal Investigator
Location(s): Washington and Bedford
Problems Loosely coupled mechanisms such as Web services can be codified as design patterns to accelerate horizontal integration of C2 and ISR systems. However, without suitable research that can identify a reusable set of patterns, disparate solutions will probably emerge that will slow progress toward an enterprise of interoperable C2 nodes. Objectives We will identify a set of design patterns based on priority operational needs and deliver a catalogue of patterns that will enable interoperable solutions across C2 nodes (e.g., air operations center, Distributed Common Ground System, Multisensor C2 Aircraft). We will document the results of our research on the process of pattern identification, codification, and application to C2 systems. Activities We will identify patterns based on high-priority operational needs (e.g., disconnected operations), investigate commercial and non-commercial solutions that lend themselves to pattern codification, build both atomic and composite patterns, specify a pattern representation model, and document patterns in a catalogue with code examples. We will also partner with industry to leverage solutions outside MITRE and report our research findings. Impact Patterns will accelerate the horizontal integration of C2 and ISR systems by codifying interoperability solutions based on Web services. They will also provide a platform-independent basis for evaluating contractor-proposed interoperability solutions, enable cost-effective design reuse across C2 and ISR programs, and influence vendors and their products by articulating the types of solutions needed by the Air Force and DoD.
^TOP
Research Computing Facility (RCF)
Dave Goldberg, Principal Investigator
Location(s): Washington and Bedford
^TOP
Software Engineering Economics and Best Practices of Internet Based Software
Audrey Taub, Principal Investigator
Location(s): Washington and Bedford
Problems Acquisition reform has forced a shift from traditional, stand-alone applications to software development technologies such as Web-based, COTS-intensive and object-oriented design. Prior to this shift, MITRE benefited from in-depth research into traditional developments. Similarly rigorous research has not been conducted for component-based Web applications, resulting in an urgent need for methods to estimate effort and schedule for Web-centric projects. Objectives The purpose of this research is to develop a framework for characterizing Web application development that can facilitate the assessment of cost, schedule, and risk associated with new software development technologies (e.g., XML\XSL, Java, Web-based architecture). It will also form the basis for understanding the impact on the economics (cost, schedule, productivity) and risks of these types of developments. Activities We will develop taxonomies of Web application components and technologies relevant to Web applications, identify software projects in government and industry that have implemented or are implementing new software technologies across a wide range of system applications, and develop a survey instrument for interviewing these projects and collecting data to characterize the development processes. Impact This research will allow MITRE to lead in defining processes and methodologies that support our sponsors' decision-making capabilities with Web application development. It will provide the opportunity to strengthen MITRE's and sponsors' understanding of the critical changes in software development over the technology life cycle, and improve the processes used to estimate resources and identify and manage risks.
^TOP
Time-Critical Resource Management in Dynamic C2 Systems
Douglas Jensen, Principal Investigator
Location(s): Washington and Bedford
Problems Battle management command and control (BMC2) systems have multiple resources and needs with numerous constraints that must often be satisfied in seconds to minutes. Resource management is greatly complicated because the systems and their environments are dynamic, with many uncertainties. Commanders need dependable indicators and strong assurances about system behavior. Objectives We will help fill the void between traditional real-time resource management and traditional any-time planning and decision making for machine-to-machine resource management in dynamic BMC2 systems having seconds-to-minutes timeframes. We will apply the theory, methodologies, and tools of utility theory to seek a formal basis, methodology, and proof-of-concept software tool for time/utility function time constraints. Activities In collaboration with researchers and a COTS vendor, we will seek a formalism for our time-critical resource management by adapting and extending work from the fields of constraint-based scheduling, utility functions, and machine scheduling. We will derive a methodology and modify a COTS software tool. We will demonstrate the results in a realistic BMC2 application. Impact Resource management in most BMC2 systems -- and hence software cost and the system's cost-effectiveness -- usually suffer from insufficient consideration of timeliness, due in large part to inadequate formal bases, methodology, and software tools. This problem is increasingly critical as shorter timeframes of opportunity necessitate automated resource management, and increasingly difficult to solve as warfare becomes more network-centric.
^TOP
Understanding Object Oriented Software
David R. Harris, Principal Investigator
Location(s): Washington and Bedford
Problems 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 than 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. Impact Our results will have direct impact on supporting software acquisition. We will be able to document legacy and newly developed software and to perform architectural compliance tasks. This work is also a prerequisite for analysis of static software vulnerability and malicious code. We will connect with projects that have an anticipated need for this within the next fiscal year.
^TOP
|