28 research outputs found

    A Model Problem for an Open Robotics Controller

    No full text
    This report describes the model problem created to support the continued enhancement and development of the prediction-enabled component technology (PECT) reasoning frameworks for an industrial trial in the domain of industrial robotics. The model problem described in this report is an abstract representation of the parallel tasking and component configuration typically seen in a successful industrial robotics controller. Although motivated by the domain of industrial robotics, the model problem is applicable to other domains typified by embedded control systems consisting of both periodic and stochastic behavior and using fixed-priority scheduling with real-time performance characteristics

    Inertial Navigation System Simulator Program: Top-Level Design (1987)

    No full text
    A real-time Ada application, an Inertial Navigation System (INS) simulator, is being developed by the Real-Time Embedded Systems Testbed Project as a vehicle to analyze issues regarding the use of Ada in the real-time embedded domain and to provide a context for future experimentation. The technical philosophy behind developing a real-time Ada artifact is to: (1) select a representative (e.g., strict timing demands, multiple concurrent activities, low-level I/O, error handling, interrupts, and periodic activities) real-time application; (2) use Ada tasks as the unit of concurrency for the real-time design; and (3) apply any relevant practical results being produced by the real-time scheduling research community. In particular, the INS simulator must satisfy a set of timing requirements that are similar to an INS with respect to data updating, message transmission, and message reception. This document discusses the top-level design of this application from three points of view: data flow perspective, concurrency and control perspective, and the Ada module perspective

    Inertial Navigation System Simulator: Behavioral Specification

    No full text
    The Real-Time Embedded Systems Testbed Project at the SEI is specifying and developing a representative real-time application. This document augments an original set of specifications written by a Navy affiliate. The purpose of this behavioral specification is to clarify and augment the original

    Illuminating the Fundamental Contributors to Software Architecture Quality

    No full text
    An architectural tactic is a design decision that helps achieve a specific quality-attribute response. Such a tactic must be motivated by a quality-attribute analysis model. This report presents the basic concepts of analysis models for two quality attributes-modifiability and performance, identifies a collection of tactics that can be used to control responses within those models, and discusses how to analyze the models in terms of these tactics. This report also describes how to interpret architectural designs in terms of analysis models and how to apply those models to specific architectures. In addition, it presents the analysis of several different architectural patterns taken from current literature

    Deriving Architectural Tactics: A Step Toward Methodical Architectural Design

    No full text
    This is one of several reports that provide the current status on the work being done by the Software Engineering Institute (SEI) to understand the relationship between quality requirements and architectural design. The ultimate objective of this work is to provide analysis-based guidance to designers so that the quality attributes of generated designs are more predictable and better understood. Currently, four distinct problems must be solved to achieve that objective: (1) the precise specification of quality attribute requirements, (2) the enumeration of architectural decisions that can be used to achieve desired quality attribute requirements, (3) a means of coupling one quality attribute requirement to the relevant architectural decisions, and (4) a means of composing the relevant architectural decisions into a design. Embodying the solutions to these four problems into a design method that is sensitive to business priorities is an additional problem. This report deals with the third problem—coupling one quality attribute requirement to architectural decisions that achieve it. This report provides initial evidence that there is, in fact, a systematic relationship between general scenarios, concrete scenarios, architectural tactics, and design fragments. It examines, in detail, two concrete scenarios—one for performance and one for modifiability—and describes how to move from each scenario, through tactics, to design fragments that satisfy the scenario

    Quality-Attribute-Based Economic Valuation of Architectural Patterns

    No full text
    Quality attribute requirements are a driving force for software and system architecture design. Architectural patterns can be used to achieve quality attribute requirements. Consequently architectural patterns generate value based on the present and future utility of the quality attributes they achieve. This report makes the case that architectural patterns carry economic value in part in the form of real options, providing software architects the right, but not the obligation, to take subsequent design actions. The report shows, via a simple example, how an analysis of the options embodied within architectural patterns allows an architect or manager to make reasoned choices about the future value of design decisions, considering this value along multiple quality attribute dimensions

    Preliminary Design of ArchE: A Software Architecture Design Assistant

    No full text
    This report presents a procedure for moving from a set of quality attribute scenarios to an architecture design that satisfies those scenarios. This procedure is embodied in a preliminary design for an architecture design assistant named ArchE (Architecture Expert), which will be implemented on a rule-based platform. This report includes the theory and rationale precipitating the design of ArchE and then describes this design in detail

    Using the Vickrey-Clarke-Groves Auction Mechanism for Enhanced Bandwidth Allocation in Tactical Data Networks

    No full text
    A mechanism is an institution such as an auction, voting protocol, or a market that defines the rules for how humans are allowed to interact, and governs the procedure for how collective decisions are made. Computational mechanisms arise where computational agents work on behalf of humans. This report describes an investigation of the potential for using computational mechanisms to improve the quality of a combat group's common operating picture, in a setting where network bandwidth is scarce. Technical details are provided about a robust emulation of a tactical data network (based loosely on the Navy LINK-11) that was developed for the study. The report also outlines the basic principles of mechanism design, as well as the features of the Vickrey-Clarke-Groves (VCG) auction mechanism implemented for the study. The report describes how the VCG mechanism was used to allocate network bandwidth for sensor data fusion. Empirical results of the investigation are presented, and ideas for further exploration are offered. The overall conclusion of the study is that computational mechanism design is a promising alternative to traditional systems approaches to resource allocation in systems that are highly dynamic, involve many actors engaged in varying activities, and have varying—and possibly competing—goals

    Using Economic Considerations to Choose Among Architecture Design Alternatives

    No full text
    The software architecture forms an essential part of a complex software-intensive system. Architecture design decision-making involves addressing tradeoffs due to the presence of economic constraints. The problem is to develop a process that helps a designer choose amongst architectural options, during both initial design and its subsequent periods of upgrade, while being constrained to finite resources. To address this need for better decision-making, we have developed a method for performing economic modeling of software systems, centered on an analysis of their architecture. We call this method the Cost Benefit Analysis Method (CBAM). The CBAM incorporates the costs and benefits of architectural design decisions and provides an effective means of making such decisions. The CBAM provides a structured integrated assessment of the technical and economic issues and architectural decisions. The CBAM utilizes techniques in decision analysis, optimization, and statistics to help software architects characterize their uncertainty and choose a subset of changes that should be implemented from a larger set of alternatives. We also report on the application of this method to a real world case study

    Making Architecture Design Decisions: An Economic Approach

    No full text
    The resources available to build any system are finite. The decisions involved in building any nontrivial system are complex and typically involve many stakeholders, many requirements, and many technical decisions. The stakeholders have an interest in ensuring that good design decisions are made—decisions that meet their technical objectives and their tolerance for risk. These decisions should, as much as possible, maximize the benefit that the system provides and minimize its cost. The Cost Benefit Analysis Method (CBAM) was created to provide some structure to this decision-making process. The CBAM analyzes architectural decisions from the perspectives of cost, benefit, schedule, and risk. While the CBAM does not make decisions for the stakeholders, it does serve as a tool to inform managers and to structure the inquiry so that rational decisions can be made. This report describes the steps of the CBAM and its application to a real-world system
    corecore