Technologies 

The following technologies have been selected for collaboration in 2007/2008:

21st Century Effort Estimator (2CEE)
Software development effort estimation technology that uses data mining techniques.. › More...

› Top

Architectural Analysis and Design Language (AADL)
Existing AADL and supporting open-source tool (OSATE) support precise modelling and analysis of real-time embedded software architectures. Research products provide a framework for utilizing AADL/OSATE in assurance environment: both within development (V&V) and independent (IV&V) contexts. › More...

› Top

Architecture Tradeoff Analysis Method (ATAM)
The Software Engineering Institute (SEI)'s Architecture Tradeoff Analysis Method (ATAM) is the leading method in the area of software architecture evaluation. The SEI can evaluate your architecture using the ATAM or qualify individuals to perform or lead SEI authorized ATAM evaluations through the Software Architecture Certificate Programs. The ATAM exposes architectural risks that potentially inhibit the achievement of an organization's business goals. The ATAM gets its name because it not only reveals how well an architecture satisfies particular quality goals, but it also provides insight into how those quality goals interact with each other-how they trade off against each other. An evaluation using the ATAM typically takes three to four days and gathers together a trained evaluation team, architects, and representatives of the architecture's various stakeholders. › More...

› Top

Attribute Driven Design (ADD)
The Attribute-Driven Design (ADD) method is a method for designing the software architecture of a software system(s) to ensure that the resulting products have the desired qualities. The ADD method is based on the explicit description of both functional and quality requirements: Quality attribute requirements include both run time qualities such as performance and reliability and design time qualities such as modifiability and re-use. The design method proceeds by prioritizing the quality attribute requirements, using the high priority quality attribute requirements to generate a pattern for the system(s) under design and then assigning the functional requirements to the appropriate portions of the pattern. ADD is iterative in that first an overall pattern is chosen and subsequently the overall pattern is refined to achieve a final architectural design. › More...

› Top

CONFIG Hybrid Simulator (CHS)
A system (component/function-connection) modeling tool and hybrid discrete/continuous event simulator with an extensible library of components, for integrated system evaluation and software validation testing. Simulation fidelity is low to moderate. Modular hierarchical models and an efficient path analyzer support reconfiguration of models during simulation, to react to events that reconfigure components of the system, and to permit multi-fidelity and multi-rate simulation runs. For evaluation of concepts and designs, the software, as well as hardware, may be modeled. For control software validation testing, CONFIG hardware models may be interfaced to the control software. › More...

› Top

Defect Detection and Prevention (DDP)
Allows users to perform a variety of system engineering/risk management activities. › More...

› Top

Java PathFinder (JPF)
A system to verify executable Java byte code programs. In its basic form, it is a Java Virtual Machine (JVM) that is used as an explicit state software model checker, systematically exploring all potential execution paths of a program to find violations of properties like deadlocks or unhandled exceptions. While JPF was motivated by finding defects in concurrent programs, it has been extended to include test case generation, coverage analysis, numeric analysis, UML state machine model checking and many more. › More...

› Top

Model Checking Artificial Intelligence-Based Planners (MAP)
MAP converts ASPEN Planner input models to Promela, the language of the Spin Model Checker. Once these domain models are expressed in Promela, and then can be very thoroughly tested against a set of formalized correctness properties (i.e. safety or liveness requirements) to ensure that certain high risk plans to not exist. › More...

› Top

ODC Defect Analysis Technology
Improved understanding of defect patterns, leading to improved quality of software product. › More...

› Top

PathMATE Transformation Engine (PMTE)
PathMATE transforms MDA Platform-Independent Models (PIMs) directly into high-performance embedded C, C++ & Java. Built as a native Eclipse environment and integrated with leading UML modeling environments including Rational Rose, RSM/RSD/RSA, Rhapsody and Topcased, PathMATE adds the capability to generate high performance code, custom reports and a range of other outputs supporting the development, test, debug and deployment of embedded, real-time and other high-performance, high-reliability systems. PathMATE is the most open and advanced code generation environment, using an extensible, rules-based approach. Including the Spotlight model-level debugging and automated test environment, PathMATE delivers all the technology you need to construct, execute, test and deliver your complex systems. › More...

› Top

Quality Attribute Workshops (QAW)
Quality Attribute Workshops (QAWs) provide a method for identifying a system’s architecture critical quality attributes, such as availability, performance, security, interoperability, and modifiability, that are derived from mission or business goals. The QAW complements the Architecture Tradeoff Analysis Method (ATAM) developed by the SEI. In an ATAM evaluation, an external team facilitates sessions during which scenarios are developed representing the quality attributes of the system. These scenarios are then prioritized, and the highest priority scenarios are analyzed against the software architectural approaches chosen for the system. The results are expressed as risks, sensitivity points, and tradeoffs. However an ATAM evaluation would be of limited value in the early phases of the life cycle, before there is a software architecture. The QAW does not assume the existence of a software architecture. It was developed to complement the ATAM in response to customer requests for a method to identify important quality attributes and clarify system requirements before there is a software architecture to which the ATAM could be applied. In the QAW, an external team facilitates meetings between stakeholders during which scenarios representing the quality attribute requirements are generated, prioritized, and refined (i.e., adding additional details such as the participants and assets involved, the sequence of activities, and questions about quality attributes requirements). The refined scenarios can be used in different ways, for example as seed scenarios for ATAM or as test cases in an acquisition effort. › More...

› Top

RAPID RMA (RRMA)
RAPID RMA provides a modeling environment for engineers to capture and analyze the non-functional or timing requirements of their architecture. RAPID RMA allows an engineer to analyze single node, multiple node or dependant end-to-end architectures for worst-case schedulability using Rate Monotonic Analysis (RMA). RAPID RMA also employs extensions to the base RMA algorithms to also provide analysis for cyclic Executives and aperiodic tasks. The tool also provides what-if analysis to help pinpoint potential bottlenecks or resource contention problems while in the design phase. RAPID RMA can be used from the design phase of a program through implementation and maintenance to help ensure that a system will always be schedulable. RAPID RMA is based on research conducted at the University of Illinois at Urbana-Champaign. RAPID RMA implements the object oriented resource contention protocol, Distributed Affected Set Priority Ceiling Protocol (DASPCP), developed by the University of Rhode Island and Space and Naval Warfare Systems Command (SPAWAR). › More...

› Top

Reactis
Reactis is a testing and validation package for Simulink/Stateflow models. It includes three components:
  • Reactis Tester automatically generates tests from the model to exercise as much of the model as possible. These can then be used to 1) debug the model itself by finding runtime errors such as missing cases, overflows, and the like; and 2) to check whether the C code which will ultimately be deployed conforms to the executable spec.
  • Reactis Simulator is an advanced debug environment for models in which you can execute the automatically generated tests. In addition to standard capabilities such as single-, multi-step execution, break points, scopes; Simulator offers some more advanced features such as reverse execution and detailed coverage tracking (by highlighting in the model).
  • Reactis Validator allows you to specify a requirement the model should meet and then search for executions of the model that violate the requirement. If it finds a violation it returns a test that can be executed in Simulator to demonstrate the problem.
Reactis for C plugin is a new product which enables white-box testing of the C code in models (S-Functions and custom C code in Stateflow). › More...

› Top

ReaGeniX Programmer
ReaGeniX is an automated modeling and development methodology for real-time and embedded systems. ReaGeniX is developed especially to produce code for dependable and compact products. ReaGeniX programmer tool converts state-machine diagrams and hierarchical system diagrams (boxes wired together) to ANSI-C. ReaGeniX programmer automates program design for:
  • System component interfaces
  • State-event-response behavior
  • Timing
  • Communication between components
  • Hierarchical composition of components
Also included is an interactive unit test environment. › More...

› Top

Reconciler Text Analysis Tool and Aerospace Ontology (RTATAO)
Reconciler performs natural language processing of English-language free text, using terminology in the Aerospace Ontology to classify words and phrases. As the Discrepancy Report (DR) Analysis Tool, it supports trend analysis of problem reports (Discrepancy reports, PRACA, Non-Conformances, errors etc). It recognizes and tags phrases in the report text which refer to functions, objects and problems. Its parser allows it to recognize variant phrases (e.g., misaligned, not aligned, fails to align). It uses the Aerospace Ontology to group together similar concepts (e.g., misaligned, askew, luxated, splayed). The tool produces a variety of reports for analysts to browse, graph, sort and trend similar problem reports. › More...

› Top

Requirements Assistant (RA)
Requirements Assistant is an analysis tool that is designed to help ensure that requirements are complete, consistent, feasible, and unambiguous, using text in natural language as input. RA supports the incorporation of domain knowledge into automated requirements analysis through various input files. RA uses heuristics derived from analysis of hundreds of requirements reviews to enhance the natural language processing of the requirements and identify incorrect, inconsistent, ambiguous, or missing requirements.› More...

› Top

Safety-Critical Application Development Environment (SCADE) Suite
Safety-Critical Application Development Environment (SCADE) is a model base development and auto code generation environment which contains qualified development tools and verification tools to either automate, simplify or remove all together the costly validation & verification activities required by the DO-178B standard. The development environment of SCADE has been designed from the beginning for the development of safety-critical software. SCADE has been used from the start on a commercial and military basis for the safety-critical software such as avionic control (Aircraft Braking Systems Corporation, Lockheed Martin, Airbus, Smiths, and Goodrich), nuclear plant control, and railway switching systems. SCADE has successfully been audited by the Federal Aviation Administration (FAA), European Aviation Safety Agency (EASA), Transport Canada and Civil Aviation Administration of Israel (CAAI). SCADE addresses the applicative part of the real-time embedded system. The application portion is usually the most complex and dynamic aspect of the software, containing complex decision logic, filters and control laws. To address these complex applications, SCADE Suite’s qualified development and verification toolset is utilized to achieve 40-50% reduction in costs, and increases in quality and productivity while reducing cycle times by 3-4 times. › More...

› Top

Software Architecture Visualization and Evaluation (SAVE)
The SAVE tool automatically extracts, analyzes and visualizes the architecture of source code. The SAVE tool can also compare the source code architecture with user-specified architectural models and rules. SAVE can be used to detect extensive coupling and strong dependencies on (COTS) components and libraries. The SAVE tool can be used to understand, maintain, re-architect, refactor, reengineer, reuse, and create more maintainable software. SAVE analyzes C/C++ and Java code, but ADA and Fortan parsers are also available. SAVE can also be used to analyze the product-line potential and deviations of the software in terms of architectural commonalities and differences between different software products. › More...

› Top

Software Process Assurance for Complex Electronics (SPACE)
SPACE comprises an overall approach that includes document templates, techniques, and checklists that can be used to assure complex electronics (e.g., Field Programmable Gate-Arrays [FPGAs]) at various stages of development. It includes a guide for the identification of recommended assurance items and the definition of entry and exit criteria for each stage. The guide is implemented via a web-based interface and assists a user in planning the assurance process, including appropriate steps for each phase of product development. › More...

› Top

Software Reuse Analysis Environment (SRAE)
Easy-to-use web-application capable of analyzing spacecraft software and aiding developers and analysts in accurately estimating software reuse based on context variables, monitoring projects based on reuse calculations, performing project planning w.r.t. software reuse, evaluating reusable software components, validating software reuse claims, and aiding in the development of reusable software components. › More...

› Top

Systems Testing and Operations Language (STOL) Analysis Tool
Ongoing standards activities could help unify, advance, and further broaden the use of a common STOL-like language. › More...

› Top

Testability And Engineering Maintenance System (TEAMS)
Model based analysis (DFT, FMECA) and real-time diagnostics, guided troubleshooting utilizing reasoner technology. › More...

› Top

UML Dynamic Specification
Defining and investigating metrics for domain architectures. Such metrics should be based on a theoretical background, primarily on information theory, and they should be specific to the architectural level. › More...

› Top

Unit Testing (CTA++)
A tool for unit testing C++ classes, libraries and subsystems. CTA++ is simple to use and provides very powerful features helping the tester to build the testing environments and running the tests on C++ code. The testing process becomes efficient, visible and organized - as required in a professional testing environment. › More...

› Top

Views and Beyond Approach to Software Architecture Documentation (V&B)
Because architectures are intellectual constructs of enduring and long-lived importance, communicating an architecture to its stakeholders becomes as important a job as creating it in the first place. If the architecture cannot be understood so that others can build systems from it, analyze it, maintain it, and learn from it, then the effort put into crafting it will by and large have been wasted. Researchers at the Software Engineering Institute (SEI) and the Carnegie Mellon School of Computer Science set out to answer the question: "How should you document an architecture so that others can successfully use it, maintain it, and build a system from it?" The result of that work is an approach we call "Views and Beyond" or "V&B". A view is a representation of a set of system elements and the relations associated with them. Views are representations of the many system structures that are present simultaneously in software systems. The basic principle of V&B is that documenting a software architecture involves documenting the relevant views, and then documenting the information that applies to more than one view. V&B includes a method for choosing the relevant views based on the structures that are inherent in the software architecture and on the needs and concerns of the architecture documentation's stakeholders. It shows how to document views, and how to document the information that applies across views. It also covers practical information such as how to judiciously combine views to avoid documentation overload, and how to document well-known architectural constructs using UML. › More...

› Top