Results 1 - 10
of
52
The design and implementation of hierarchical software systems with reusable components
- ACM Transactions on Software Engineering and Methodology
, 1992
"... We present a domain-independent model of hierarchical software system design and construction that is based on interchangeable software components and largescale reuse. The model unifies the conceptualizations of two independent projects, Genesis and Avoca, that are successful examples of software c ..."
Abstract
-
Cited by 412 (72 self)
- Add to MetaCart
(Show Context)
We present a domain-independent model of hierarchical software system design and construction that is based on interchangeable software components and largescale reuse. The model unifies the conceptualizations of two independent projects, Genesis and Avoca, that are successful examples of software component/building-block technologies and domain modeling. Building-block technologies exploit large-scale reuse, rely on open architecture software, and elevate the granularity of programming to the subsystem level. Domain modeling formalizes the similarities and differences among systems of a domain. We believe our model is a blue-print for achieving software component technologies in many domains.
Hints for Computer Systems Design
- 9th ACM Symposium on Operating Systems Principles, Bretton Woods
, 1983
"... Studying the design and implementation of a number of computer has led to some general hints for system design. They are described here and illustrated by many examples, ranging from hardware such as the Alto and the Dorado to application programs such as Bravo and Star. 1. ..."
Abstract
-
Cited by 216 (0 self)
- Add to MetaCart
(Show Context)
Studying the design and implementation of a number of computer has led to some general hints for system design. They are described here and illustrated by many examples, ranging from hardware such as the Alto and the Dorado to application programs such as Bravo and Star. 1.
Creating Reference Architectures: An Example from Avionics
- ACM SIGSOFT Symposium on Software Reusability
, 1995
"... ADAGE is a project to define and build a domain-specific software architecture (DSSA) environment for assisting the development of avionics software. A central concept of DSSA is the use of software system generators to implement component-based models of software synthesis in the target domain [SEI ..."
Abstract
-
Cited by 47 (13 self)
- Add to MetaCart
(Show Context)
ADAGE is a project to define and build a domain-specific software architecture (DSSA) environment for assisting the development of avionics software. A central concept of DSSA is the use of software system generators to implement component-based models of software synthesis in the target domain [SEI90]. In this paper, we present the ADAGE component-based model (or reference architecture) for avionics software synthesis. We explain the modeling procedures used, review our initial goals, show how component reuse is achieved, and examine what we were (and were not) able to accomplish. The contributions of our paper are the avionics reference architecture and the lessons that we learned; both may be beneficial to others in future modeling efforts. 1
Defining Families: The Commonality Analysis
- Proceedings of the Nine- teenth International Conference on Software Engineering
, 1997
"... ..."
(Show Context)
Software cost reduction
- of Software Engineering. 2nd edition
, 2002
"... Software Cost Reduction (SCR) is a set of techniques for designing software sys-tems developed by David Parnas and researchers from the U.S. Naval Research Laboratory (NRL) beginning in the late 1970s. A major goal of the original SCR research team was to evaluate the utility and scalability of soft ..."
Abstract
-
Cited by 21 (3 self)
- Add to MetaCart
(Show Context)
Software Cost Reduction (SCR) is a set of techniques for designing software sys-tems developed by David Parnas and researchers from the U.S. Naval Research Laboratory (NRL) beginning in the late 1970s. A major goal of the original SCR research team was to evaluate the utility and scalability of software engineer-
Distributed Object Technology With CORBA and Java: Key Concepts and Implications
, 1997
"... : The purpose of this report is to analyze the potential impact of distributed object technology (DOT) on software engineering practice. The analysis culminates with the conclusion that the technology will have a significant influence on both the design and reengineering of information systems and t ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
: The purpose of this report is to analyze the potential impact of distributed object technology (DOT) on software engineering practice. The analysis culminates with the conclusion that the technology will have a significant influence on both the design and reengineering of information systems and the processes used to build them. We see a profound impact and fundamental change in both technical thinking and practice as a result of the related technologies we group together as DOT. 1 Introduction Distributed object technology (DOT) is defined quite broadly for the purposes of this report. We consider it to include three technologies that have synergistically merged to provide something quite powerful---something greater than the sum of their parts.Those three technologies, in order of their emergence, are . object technology . distribution technology . Web technology Object technology (OT) was introduced to the computing mainstream in the late 1970s by Adele Goldberg and Alan Kay w...
The Road to Feature Modularity?
, 2011
"... Modularity of feature representations has been a long standing goal of feature-oriented software development. While some researchers regard feature modules and corresponding composition mechanisms as a modular solution, other researchers have challenged the notion of feature modularity and pointed o ..."
Abstract
-
Cited by 11 (8 self)
- Add to MetaCart
Modularity of feature representations has been a long standing goal of feature-oriented software development. While some researchers regard feature modules and corresponding composition mechanisms as a modular solution, other researchers have challenged the notion of feature modularity and pointed out that most feature-oriented implementation mechanisms lack proper interfaces and support neither modular type checking nor separate compilation. We step back and reflect on the feature-modularity discussion. We distinguish two notions of modularity, cohesion without interfaces and information hiding with interfaces, and point out the different expectations that, we believe, are the root of many heated discussions. We discuss whether feature interfaces should be desired and weigh their potential benefits and costs, specifically regarding crosscutting, granularity, feature interactions, and the distinction between closed-world and open-world reasoning. Because existing evidence for and against feature modularity and feature interfaces is shaky and inconclusive, more research is needed, for which we outline possible directions.
Commonality Analysis: A Systematic Process for Defining Families
- In Proceedings of the Second International Workshop on Development and Evolution of Software Architectures for Product Families
, 1998
"... ..."
(Show Context)
From Domain Model to Architectures
- Focused Workshop on Sofinr-e Architemwe
, 1994
"... A software system can be evaluated against criteria in two broad categories: • functional and performance attributes: how well does the system, during execution, satisfy its behavioral, functional, and performance requirements? Does it provide the required results? Does it provide them in a timely e ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
(Show Context)
A software system can be evaluated against criteria in two broad categories: • functional and performance attributes: how well does the system, during execution, satisfy its behavioral, functional, and performance requirements? Does it provide the required results? Does it provide them in a timely enough manner? Are the results correct, or within specified accuracy and stability tolerances? • non-functional attributes: how easy is the system to integrate, test, and modify? How expensive was it to develop? These two categories are orthogonal; systems that unfailingly meet all of their requirements may or may not have been prohibitively expensive to develop, and may or may not be impossible to modify. Highly modifiable systems may or may not produce correct results. Given a set of requirements for a system, the developer must choose an architecture that will allow the implementation of the system to proceed in a straightforward manner, producing a product that meets its functional and non-functional requirements. How is that done? 1.1 Producing architectures to meet functional requirements There is, unfortunately, no reliable automatic or semi-automatic technology that will produce
BoxScript: A component-oriented language for teaching
- University of Mississippi, Department of Computer and Information Science
, 2004
"... Component-oriented software development has become an important approach to building complex software systems. Computer Science students should learn the concepts and skills needed for component-oriented programming. This paper describes a component-oriented language BoxScript whose design seeks to ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
(Show Context)
Component-oriented software development has become an important approach to building complex software systems. Computer Science students should learn the concepts and skills needed for component-oriented programming. This paper describes a component-oriented language BoxScript whose design seeks to address the needs of teachers and students for a clean, simple language. This paper presents the key concepts and syntax of BoxScript and gives an example to illustrate its usage.