68 research outputs found
A conceptual model for megaprogramming
Megaprogramming is component-based software engineering and life-cycle management. Magaprogramming and its relationship to other research initiatives (common prototyping system/common prototyping language, domain specific software architectures, and software understanding) are analyzed. The desirable attributes of megaprogramming software components are identified and a software development model and resulting prototype megaprogramming system (library interconnection language extended by annotated Ada) are described
Adding Executable Context to Executable Architectures: Enabling an Executable Context Simulation Framework (ECSF)
A system that does not stand alone is represented by a complex entity of component combinations that interact with each other to execute a function. In today\u27s interconnected world, systems integrate with other systems - called a system-of-systems infrastructure: a network of interrelated systems that can often exhibit both predictable and unpredictable behavior. The current state-of-the-art evaluation process of these system-of-systems and their community of practitioners in the academic community are limited to static methods focused on defining who is doing what and where. However, to answer the questions of why and how a system operates within complex systems-of-systems interrelationships, a system\u27s architecture and context must be observed over time, its executable architecture, to discern effective predictable and unpredictable behavior.
The objective of this research is to determine a method for evaluating a system\u27s executable architecture and assess the contribution and efficiency of the specified system before it is built. This research led to the development of concrete steps that synthesize the observance of the executable architecture, assessment recommendations provided by the North Atlantic Treaty Organization (NATO) Code of Best Practice for Command and Control (C2) Assessment, and the metrics for operational efficiency provided by the Military Missions and Means Framework. Based on the research herein, this synthesis is designed to evaluate and assess system-of-systems architectures in their operational context to provide quantitative results
Proceedings of Monterey Workshop 2001 Engineering Automation for Sofware Intensive System Integration
The 2001 Monterey Workshop on Engineering Automation for Software Intensive System Integration was sponsored by the Office of Naval Research, Air Force Office of Scientific Research, Army Research Office and the Defense Advance Research Projects Agency. It is our pleasure to thank the workshop advisory and sponsors for their vision of a principled engineering solution for software and for their many-year tireless effort in supporting a series of workshops to bring everyone together.This workshop is the 8 in a series of International workshops. The workshop was held in Monterey Beach Hotel, Monterey, California during June 18-22, 2001. The general theme of the workshop has been to present and discuss research works that aims at increasing the practical impact of formal methods for software and systems engineering. The particular focus of this workshop was "Engineering Automation for Software Intensive System Integration". Previous workshops have been focused on issues including, "Real-time & Concurrent Systems", "Software Merging and Slicing", "Software Evolution", "Software Architecture", "Requirements Targeting Software" and "Modeling Software System Structures in a fastly moving scenario".Office of Naval ResearchAir Force Office of Scientific Research Army Research OfficeDefense Advanced Research Projects AgencyApproved for public release, distribution unlimite
Software Perfomance Assessment at Architectural Level: A Methodology and its Application
Las arquitecturas software son una valiosa herramienta para la evaluación de las propiedades cualitativas y cuantitativas de los sistemas en sus primeras fases de desarrollo. Conseguir el diseño adecuado es crÃtico para asegurar la bondad de dichas propiedades. Tomar decisiones tempranas equivocadas puede implicar considerables y costosos cambios en un futuro. Dichas decisiones afectarÃan a muchas propiedades del sistema, tales como su rendimiento, seguridad, fiabilidad o facilidad de mantenimiento. Desde el punto de vista del rendimiento software, la ingenierÃa del rendimiento del software (SPE) es una disciplina de investigación madura y comúnmente aceptada que propone una evaluación basada en modelos en las primeras fases del ciclo de vida de desarrollo software. Un problema en este campo de investigación es que las metodologÃas hasta ahora propuestas no ofrecen una interpretación de los resultados obtenidos durante el análisis del rendimiento, ni utilizan dichos resultados para proponer alternativas para la mejora de la propia arquitectura software. Hasta la fecha, esta interpretación y mejora requiere de la experiencia y pericia de los ingenieros software, en especial de expertos en ingenierÃa de prestaciones. Además, a pesar del gran número de propuestas para evaluar el rendimiento de sistemas software, muy pocos de estos estudios teóricos son posteriormente aplicados a sistemas software reales. El objetivo de esta tesis es presentar una metodologÃa para el asesoramiento de decisiones arquitecturales para la mejora, desde el punto de vista de las prestaciones, de las sistemas software. La metodologÃa hace uso del Lenguaje Unificado de Modelado (UML) para representar las arquitecturas software y de métodos formales, concretamente redes de Petri, como modelo de prestaciones. El asesoramiento, basado en patrones y antipatrones, intenta detectar los principales problemas que afectan a las prestaciones del sistema y propone posibles mejoras para mejoras dichas prestaciones. Como primer paso, estudiamos y analizamos los resultados del rendimiento de diferentes estilos arquitectónicos. A continuación, sistematizamos los conocimientos previamente obtenidos para proponer una metodologÃa y comprobamos su aplicabilidad asesorando un caso de estudio real, una arquitectura de interoperabilidad para adaptar interfaces a personas con discapacidad conforme a sus capacidades y preferencias. Finalmente, se presenta una herramienta para la evaluación del rendimiento como un producto derivado del propio ciclo de vida software
Software construction by composition of components
In the continuously evolving era of software technological advances, software complexity and requirements change grow at increasing paces. Developing software using traditional approaches to meet the growing demand for functionalities and computation, in particular for large scale software, produces software applications which are characterized as being monolithic, difficult to reuse and costly to develop. To address those issues, componentbased software development has emerged among other approaches and has already produced a noteworthy positive impact. Nevertheless, component-based software development still suffers from a number of drawbacks and limitations.
The aim of this research project is to improve software construction by composition of components. Traditionally, reusable components may exhibit a bloating syndrome caused by bundled but unused set of members which vary according to application contexts and business domains. Furthermore, reusable components may suffer from chaotic amalgamation of code elements. Component members' bloating and a chaotic amalgamation of code elements limitations can be partially attributed to the lack of modular components. Typically, software constmctors rewrite from scratch newer software components (even though many code parts exist), retrofit or customize existing components to satisfy applications'
requirements. In addition to these two limitations, software components suffer also from version mismatches due to the use of different versions of the same component.
To address the aforementioned limitations a new approach is proposed in this research work. Our approach is based on composition of atomic or enhanced modularity components. This new approach will contribute to the improvement of component-based software construction by alleviating some of the limitations facing it. It The focus of our research targets particularly the constmction phase of the software development lifecycle.
The main generic goal of this research project is:
• To improve software construction based on components composition by providing an approach which shifts and promotes software construction from a traditional construction approach based heavily on code writing and amalgamation to an approach relying increasingly on components composition.
The specific objectives of this research are:
• To propose and specify a software component model which provides remedies for some of the limitations facing software construction by components composition.
• To provide a reference implementation for this component model.
• To design a measurement method to measure components" unwanted members.
• To provide a prototype tool to measure components" unwanted members.
• To propose a component versioning mechanism.
• To provide a prototype tool to detect component versions mismatches.
The approach presented in this thesis is partly derived from the observation of product development processes implemented in traditional engineering disciplines. It can be argued that this approach represents a step forward in the evolution of software constmction based on components composition for it provides a simple and fluid components composition approach. The application and use of this composition approach reduces the need to retrofit and customize existing components as has been done traditionally. The software constructor relies more and more on selective composition of enhanced modularity components which suit particular application requirements. Moreover, this approach leads to additional secondary benefits which can be exploited in the use of fine-grained testing and in conducting various component measurements that ultimately benefit the software constmction process as a whole
Engineering Automation for Reliable Software Interim Progress Report (10/01/2000 - 09/30/2001)
Prepared for: U.S. Army Research Office
P.O. Box 12211
Research Triangle Park, NC 27709-2211The objective of our effort is to develop a scientific basis for producing reliable
software that is also flexible and cost effective for the DoD distributed software domain.
This objective addresses the long term goals of increasing the quality of service provided
by complex systems while reducing development risks, costs, and time. Our work focuses on
"wrap and glue" technology based on a domain specific distributed prototype model. The key
to making the proposed approach reliable, flexible, and cost-effective is the automatic
generation of glue and wrappers based on a designer's specification. The "wrap and glue"
approach allows system designers to concentrate on the difficult interoperability problems
and defines solutions in terms of deeper and more difficult interoperability issues, while
freeing designers from implementation details. Specific research areas for the proposed
effort include technology enabling rapid prototyping, inference for design checking,
automatic program generation, distributed real-time scheduling, wrapper and glue
technology, and reliability assessment and improvement. The proposed technology will be
integrated with past research results to enable a quantum leap forward in the state of the
art for rapid prototyping.U. S. Army Research Office P.O. Box 12211 Research Triangle Park, NC 27709-22110473-MA-SPApproved for public release; distribution is unlimited
RICIS Software Engineering 90 Symposium: Aerospace Applications and Research Directions Proceedings Appendices
Papers presented at RICIS Software Engineering Symposium are compiled. The following subject areas are covered: flight critical software; management of real-time Ada; software reuse; megaprogramming software; Ada net; POSIX and Ada integration in the Space Station Freedom Program; and assessment of formal methods for trustworthy computer systems
Working Notes from the 1992 AAAI Workshop on Automating Software Design. Theme: Domain Specific Software Design
The goal of this workshop is to identify different architectural approaches to building domain-specific software design systems and to explore issues unique to domain-specific (vs. general-purpose) software design. Some general issues that cut across the particular software design domain include: (1) knowledge representation, acquisition, and maintenance; (2) specialized software design techniques; and (3) user interaction and user interface
- …