| # Neighbors, J., Software Construction Using Components, PhD thesis, University of California at Irvine, 1980. http://www.BayfrontTechnologies.com/thesis.htm |
....a program directly, introducing optimizations along the way. Or you can define a DSL and map it to an algebra whose equations you can optimize. This brings up a fundamental result on hierarchies of DSLs and optimizations. The first time I saw this result was in Jim Neighbor s 1984 thesis on DRACO [18]. The idea is simple: programs are written in DSLs. You can transform (map) an unoptimized DSL program to an optimized DSL program because the domain abstractions are still visible. Stated another way, you can not optimize abstractions that have been compiled away. Given an optimized DSL program, ....
J. Neighbors, "Software construction using components". Ph. D. Thesis, (Technical Report TR-160), University of California, Irvine, 1980.
.... the transformations in ways that reduce the number to be tried at any given point (e.g. group transforms in a two dimensional space that exposes only a few transforms at each point in the translation process) Some of these strategies have been employed by existing generators (e.g. Draco [29 31] and TAMPR [12, 19] and some are introduced by the AOG generator. Table 1 summarizes the subproblems faced by generators as well as the strategies and mechanisms that address the subproblems. The remainder of the paper enlarges on the notions in Table 1. Table 1: Explosion Control Strategies and ....
....to specialize code for which some data values have become known (e.g. unrolling a loop will make loop indexes known constant values) What is more, DSL expressions often reveal opportunities to execute certain domain specific optimizations that would be infeasible without the DS vantage point. [29 31] For example, an optimization rule using knowledge of an Augmented Transition Network (ATN) parser domain may remove an ATN state (equivalent to removing a parse rule in a conventional parser) and thereby make a significant optimization. Such an optimization would be impractical to perform once ....
[Article contains additional citation context not shown here]
Neighbors, James M.: Software Construction Using Components. PhD Thesis, University of California at Irvine, (1980)
.... captured from domai experts, uderlyig theory, ad emer7ig techtology withit a domait [Kang et al. 1990] According to Arango and Prieto Dfaz [Arango and Prieto Dfaz, 1991] the expression ; domain analysis in the context of software reuse has been first introduced by Neighbors in his Phd Thesis [Neighbors, 1981]. In [Neighbors, 1986] while describing the Draco approach for building software applications, Neighbors proposes the use of a domait latguage for describing programs in different problem areas. This language is an ontology for describing objects and operations in the domain. According to ....
J.M. Neighbors. Software Construction Using Components. PhD thesis, Univer- sity of California, Irvine, 1981.
....[48] SPECWARE is mainly concerned with modeling domains using algebraic specifications and composing specifications using techniques motivated by category theory. 4.2 P2 P2 is a component based generator for the domain of container data structures. Component based generators (e.g. 13] 16] 17][27][42] are a common class of generators whose transformations are represented as reusable and interchangeable components. Users declaratively specify their target application (in this case, a container data structure) and use compositions of components to tell the generator how to transform these ....
J. Neighbors, Software Construction Using Components, Ph.D. Thesis, ICS-TR-160, University of California at Irvine, 1980.
....of software development is the management of software quality, both in terms of defects, and the ease with which software can be maintained and evolved. Software production and evolution is intangible. This nature has caused problems for software developers since there is no sense feedback (Neighbors, 1980). The term coined to describe the situation is the software crisis, although this has extended into a chronic problem. A high percentage of software projects are cancelled, and those which remain either fall behind schedule or have large cost overruns. On top of that, the resulting systems are ....
Neighbors, J.M (1980). "Software Construction Using Components," Department of Information and Computer Science, University of California, Irvine, PhD Dissertation.
....system. Figure 1 Strategy of automatic implementation of Mondel specifications into Java 2. Implementation of the Mondel specifications into Java using the Draco environment The Draco paradigm is based on the concept of domain oriented software building through transformation. Neighbors [NEI 80] built the first Draco machine prototype. The Draco machine was later rebuilt at PUC RJ [PRA 92] using new modern hardware and software platform languages. Several research projects [LEI 94, LEI 95] to make changes and improvements resulted in new versions of the Draco machine, each one more ....
Neighbors, J. Software Construction Using Components. Tese de Doutorado, University of California at Irvine (EUA), Set/1980.
....typically come very close to their desired equation on the first attempt; DRC messages enable them to correct errors quickly. 3.5 Related Work and Insights Related Work. DRACO used a form of shallow consistency checking (called assertions and conditions) in composing layers of transformations [Nei80]. DaTE, the design rule checker for Genesis [Bat92b] supported only component preconditions. The limitations of DaTE led to the work presented in this paper. McAllester developed a functional programming language, VAG, based on variational attribute grammars, to address the design rule checking ....
J. Neighbors, "Software Construction Using Components", Ph.D. Thesis, ICS-TR-160, University of California at Irvine, 1980.
....ordered names) In database terminology, we are organizing our data with a red black tree index on the name field and a hash table index on the phone. Container (typeq1, Hash(phone) Tree(name) cont1; container declaration Using component compositions to express complex entities (see [Nei80]) is a hallmark of the scalability of GenVoca. Customized software systems implement m features out of a possible n features. Rather than building an exponential number of monolithic systems that offer unique sets of features, one should build systems by composing primitive components that ....
J. Neighbors, "Software Construction Using Components", Ph.D. Thesis, ICS-TR-160, University of California at Irvine, 1980.
.... generation system shares the domain oriented optimization philosophy of AO, but while it does perform many powerful domain specific optimizations, it does not use AO like optimization methods or distributed optimization plans for melding and reweaving portions of the code (e.g. loop prefixes) [11, 12] To accomplish similar optimizations, Draco would face a large solution search space or need to resort to programmer intervention and guidance. Aspect Oriented Programming (AOP) shares with AO the intention and the accomplishment of reweaving code for efficiency. 9] The main difference appears to ....
James M. Neighbors, Software Construction Using Components, Ph.D. Dissertation, Univ. of Calif. at Irvine, 1980.
....that unites them 8 . Despite the differences, the result of both kinds of analyses includes a description of a set of components. Thus the terminology used by domain analysts to describe the results of their efforts is pertinent to a reverse knowledge engineering effort. Both Neighbours [ 29 ] and Prieto Diaz [ 36 ] suggest a model based on objects and actions. Our KB is concerned with storing knowledge about a large software system, and using this knowledge as an index into a library of reusable components. As Curtis [ 13 ] suggests, the way programmers think about the system is an ....
Neighbors, J., Software Construction using Components, Ph.D. Thesis, University of California, Irvine, CA, 1981.
....Bug management: informing all users . Error correction: ensuring that as less as possible other components are concerned . Distribution of new versions Phase Reuse related activities Table 1: REBOOT software development cycle and reuse activities 13 the term domain analysis was introduced by Neighbors in 1981 for an activity in the Draco approach where it was used for surveying a class of problems to develop problemoriented specification languages [Nei81] There are several approaches to domain analysis, which can be divided into two main groups depending on whether one interprets a domain as a ....
.... activities Table 1: REBOOT software development cycle and reuse activities 13 the term domain analysis was introduced by Neighbors in 1981 for an activity in the Draco approach where it was used for surveying a class of problems to develop problemoriented specification languages [Nei81] There are several approaches to domain analysis, which can be divided into two main groups depending on whether one interprets a domain as a collection of problems or a collection of (existing or future) applications [Ara94] If one takes the first view, domain analysis creates a theory of the ....
J. M. Neighbors. Software Construction Using Components. PhD thesis, University of California, Irvine, CA, 1981.
....further simplifying the task of debugging equations. 7 Related Work and Insights Related Work. Shallow consistency checking is certainly not new to generators. DRACO, for example used a form of shallow consistency checking (called assertions and conditions) in composing layers of transformations [Nei80]. An early version of our DRC algorithms appeared in DaTE, the design rule checker for Genesis [Bat92b] DaTE only supported component preconditions; there were no prerestrictions. The limitations of DaTE led to the work presented in this paper. McAllester developed a functional programming ....
J. Neighbors, "Software Construction Using Components", Ph.D. Thesis, TR-160, ICS Department, University of California at Irvine, 1980.
....typically come very close to their desired equation on the first attempt; DRC messages enable them to correct errors quickly. 7 Related Work and Insights Related Work. DRACO used a form of shallow consistency checking (called assertions and conditions) in composing layers of transformations [Nei80]. DaTE, the design rule checker for Genesis [Bat92b] supported only component preconditions. The limitations of DaTE led to the work presented in this paper. McAllester developed a functional programming language, VAG, based on variational attribute grammars, to address the design rule checking ....
J. Neighbors, "Software Construction Using Components", Ph.D. Thesis, ICS-TR-160, University of California at Irvine, 1980.
....phase of the framework is a family analysis phase. This phase studies features that are present in all members of the family and variations among members. It can be conducted using a methodology such as FAST s commonality analysis [15] The family analysis may also rely on a domain analysis [23, 25, 27], which discovers the commonalities in a domain. This analysis phase has two sets of outputs, which lead to the design of both a DSL and an abstract machine. 2.2 Abstract Machine Design The analysis phase identifies key objects of the domain and program family, as well as basic operations on ....
James Neighbors. Software Construction Using Components. PhD thesis, University of California, Irvine, 1980.
....basic approaches to refinement. A component can refine directly to code (LOA = 0) or it can refine to one or more connected components that require further refinement (LOA 0) As refinement of a complete system proceeds from initial system specification to code the following effects are found [18]. number of components initial spec code Figure 1. Components vs. average LOR average LOR In general, the refinement of higher LOA components produces more lower LOA components (Fig. 1) These lower LOA components must be further refined until they are all code components (Fig 2. initial ....
Neighbors, J.M., Software Construction using Components, Ph.D. dissertation, University of California, Irvine, May, 1980.
....under the assumption that with such an approach the number of development team members producing a large system could be drastically cut and the specification clarified using a rapid development feedback cycle with the original specifiers. The first Draco prototype was completed in 1979[Neighbors80, Neighbors84b, Freeman87] and the last major revision of the mechanism was completed in 1983[Neighbors84a] Since that time 2 the instrumental use of the mechanism has been stressed to understand its limits and pitfalls [Gonzalez81, Sundfor83a, Sundfor83b, Arango86] This paper discusses ....
....size and intelligibility of the resulting system. Any aid in the refinement of systems, such as Draco, must be able to deal with the issue of architectural design. Figure 4 shows the function and procedure control flow graphs (structure charts) of possible refinements of a single small problem[Neighbors80] refined by Draco. Figure 4. Different Architectural Designs Resulting from the Same Problem All of these implementations of the same problem were shown to have different space and speed characteristics. The basic units of architectural design are functions, procedures, inline instantiations, ....
J.M. Neighbors, Software Construction Using Components, Ph.D. Thesis and T ch. Rep. TR-160, University of California, Irvine, ICS Dept., e 1980.
....of the computing hardware of today and tomorrow. 1. 1 Reverse Engineering and Software Reuse Software Reuse has been identified as a key technique for achieving significant increases in programmer productivity by simply avoiding the expensive process of constructing all software from scratch [6, 14, 13, 18]. A problem with software reuse is understanding the structure and function of the software intended for reuse. Reverse Software Engineering (RSE) provides this understanding for an existing software system or component. The applicable forms for such information are similar to the workproducts ....
.... those connections are used in the system during a representative execution (system performance information) Ultimately, the largest gains in parallel computation will only be obtained by reworking the theories of the problem area (system requirements information) Our work in domain analysis [13, 14] has shown that the optimizations which may be gained from optimizations in the problem domain are much more powerful optimizations than those available on a particular implementation of the theory. As an example consider the computer aided engineering (CAE) finite element method (FEM) which ....
[Article contains additional citation context not shown here]
Neighbors, J., "Software Construction using Components", Ph.D. Dissertation, Information and Computer Science Department, University of California, Irvine, January 1980.
....distance to home is well suited to the current system which is a small prototype. 1.1. The Draco View of Software Production The Draco system addresses itself to the routine production of many systems which are similar to each other. The theory behind its operation is described in detail in [Neighbors80] Three themes dominate the way Draco operates: the use of special purpose high level languages for the domains or problem areas in which many similar systems are needed; the use of software components to implement problems stated in these languages in a flexible and reliable way; and the use of ....
....Domain Language) always exists in the refinement history. It is hoped that these higher levels of abstraction of an existing program will be useful in understanding the program during the maintenance phase of its lifecycle. The process described briefly above is dealt with in more detail in [Neighbors80] which presents an SADT [NOTE 2] model of the process. Draco 1.2 Users Manual 4 1.2. Running the Draco System This section describes the loading and execution of the Draco system on the ICS PDP20A at U.C. Irvine as of June 1, 1983. At this time access to the Draco system is restricted to ....
[Article contains additional citation context not shown here]
Neighbors, J.M., Software Construction Using Components, PhD thesis, University of California at Irvine, 1980, UCI ICS technical report TR-160.
....programming led me to the concept of domain analysis as a basis for reuse. The key domain analysis idea is the reuse of concepts not just program code. This approach was embodied in an experimental system called Draco which has been well documented and will not be further discussed here (concept [Neighbors80], theory [Neighbors84] overview [Freeman87] problems [Arango86] rationalization [Neighbors92] My current interest in reuse follows along the same lines. Use domain analysis [PrietoDiaz91] but from a different psychological set. All of my previous work really emphasized the tool, deemphasized ....
J. Neighbors, Software Construction Using Components, Ph.D. Dissertation and Report UCI-ICS-TR160, University of California, Irvine, ICS Dept., 1980.
....domain hierarchy because they directly address the issue of scale supported by composing domains. From a formal theory standpoint, questions 1 and 2 are decidable (with a high complexity in the general case) only if a limited condition assertion language and a limited refinement mechanism are used [5]. What can be done about question 3 is unknown but important. This points out some key features of the Draco approach: the use of a restricted refinement mechanism, the limiting of some domain parts to be intradomain only, and the use of restricted power condition and assertion expressions. These ....
Neighbors, J. M., Software Construction Using Components, Ph.D. diss., University of CA, Irvine, May 1980.
No context found.
# Neighbors, J., Software Construction Using Components, PhD thesis, University of California at Irvine, 1980. http://www.BayfrontTechnologies.com/thesis.htm
No context found.
James M. Neighbors, Software Construction Using Components, Ph.D. Dissertation, Univ. of Calif. at Irvine, 1980.
No context found.
J. Neighbors, "Software construction using components". Ph. D. Thesis, TR-160, University of California, Irvine, 1980.
No context found.
J. Neighbors, "Software Construction Using Components", Ph.D. Thesis, ICS-TR-160, University of California at Irvine, 1980.
No context found.
J. Neighbors, "Software Construction Using Components", Ph.D. Thesis, ICS-TR-160, University of California at Irvine, 1980.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC