Search results for
keyword `components'
Search performed on http://www-rocq.inria.fr/oscar/www/fnc2/AGabstract.html.
- [69]
- Don Batory and Bart J.
Geraci.
Validating component
compositions in software system generators.
In International Conference on Software Reuse, Florida, 1996.
(PostScript)
Generators synthesize software systems by composing components from
reuse libraries. In general, not all syntactically correct compositions are
semantically correct. In this paper, we present domain-independent algorithms
for the GenVoca model of software generators to validate component
compositions. Our work relies on attribute grammars and offers powerful
debugging capabilities with explanation-based error reporting. We illustrate
our approach by showing how compositions are debugged by a GenVoca generator
for container data structures.
- [121]
- John Tang Boyland.
Descriptional Composition of Compiler
Components.
PhD thesis, University of California, Berkeley, September 1996.
Available as technical report UCB//CSD-96-916.
- [214]
- Gerald D. P. Dueck and
Gordon V. Cormack.
Modular attribute grammars.
The Computer Journal, 33:164-172, 1990.
See also: research report CS-88-19, University of Waterloo (May
1988).
Attribute grammars provide a formal declarative notation
for describing the semantics and translation of programming languages.
Describing any real programming language is a significant software
engineering challenge. From a software engineering viewpoint, current
notations for attribute grammars have two flaws: tedious repetition of
essentially the same attribute computations is inevitable, and the various
components of the description cannt be decomposed into modules -- they must
be merged (and hence closely coupled) with the syntax specification. This
paper describes a tool that generated attribute grammars from pattern
oriented specifications. These specifications can be grouped according to the
separation of concerns arising from individual aspects of the compilation
process. Implementation and use of the attribute grammar generator MAGGIE is
described.
- [363]
- Tapio Grönfors.
Peak identification of
auditory brainstem responses with multifilters and attributed automaton.
Technical Report R-92-4, University of Turku, 1992.
An attributed
automaton, a special case of attribute grammar, is a flexible tool in pattern
recognition. It allows the utilization of contextual information from
previously analyzed patterns in the analysis of the current pattern, and
offers the possibility of describing those structural characteristics of
patterns which cannot be described by classic methods of syntactic pattern
recognition. Auditory brainstem responses are routinely used in audiology and
otoneurology. Many studies on using the spectral analysis of averaged
auditory brainstem responses have described at least two frequency bands,
corresponding to the slow fast components. Selective nonrecursive digital
filters for each frequency band in the spectrum of the auditory brainstem
response have revealed enhancement or attenuation of components, depending on
the band. In this study, multifilters and an attributed automaton were
combined for the identification peaks.
- [494]
- Gail E. Kaiser and
Simon M. Kaplan.
Parallel and distributed incremental attribute evaluation algorithms for
multi-user software development environments.
In ACM Transactions on Software Engineering and Methodology,
volume 2 of 1, pages 47-92. ACM press, January
1993.
The problem of change propagation in multiuser
software development environments distributed across a local-area network is
addressed. The program is modeled as an attributed parse tree segmented among
multiple user processes and changes are modeled as subtree replacements
requested asynchronously by inidividual users. Change propagation is then
implemented using decentralised incremental evaluation of an attribute
grammar that defines the static semantic properties of the programming
language. Building up to our primary result, we first present algorithms that
support parallel evaluation on a centralised tree in response to single edits
using a single diting cursor and multiple dits with multiple editing cursors.
Then we present our algorithm for parallel evaluation on a decentralized
tree. We also present a protocol to guarantee reliability of the evaluation
algorithm as components of the decentralized tree become unavailable due to
failures and return to availability.
- [520]
- Uwe Kastens.
Attribute grammars in a compiler construction environment.
In Henk Alblas and Borivoj Melichar, editors, Attribute Grammars,
Applications and Systems, volume 545 of Lecture Notes in
Computer Science, pages 380-400. Springer-Verlag, New
York-Heidelberg-Berlin, June 1991.
Prague.
Attribute Grammar (AG) specifications are implemented by
attribute evaluators which perform computations on tree structures as
specified. An AT system should concentrate on generating that implementation.
In compiler construction the attribute evaluator has to be combined with
other modules, like scanner, parser, tree construction, data bases, and
translation modules. Those are generated by other compiler tools, taken from
library, or implemented for the specific application. These components have
to fit together properly on the specification level as well as on the level
of module interfaces. In this paper those relationships are demonstrated
using the LIGA system within the compiler construction environment Eli as an
example.
- [723]
- T . Murer, A. Würtz,
D. Scherer, and D. Schweizer.
GIPSY:
Generating integrated process support systems - project overview.
Ik-report no. 22, Swiss Federal Institute of Technology Zurick, December
1996.
Cooperative software engineering requires integration of a
distributed and heterogeneous world of actors and resources. Component
technology will augment integration problems due to distributed development
of large numbers of interoperating components. Extensible Attribute Grammars
(EAG) are used for the specification and generation of highly integrated tool
components that support the software process. Tool components are plugged
into a process support framework which allows for the distributed definition
and enactment of a software process. A common understanding of the process is
provided by a 3D process model which supports tool integration on a high
level so that developers perceive the tools as a homogeneous
environment
- [726]
- F. Vicu na.
Semantic Formalization in Mathematical Modeling Languages.
PhD thesis, Computer Science Department, UCLA, 1990.
Most existing
languages for mathematical programming have semantics that are only
incompletely formalized. This situation -- studied in detail for AMPL, GAMS,
and LINGO -- inhibits efforts to achieve a high level of automation for
diagnosing errors and generating major components of a computer-based
modeling environment (e.g., language-based editors, type inference tools, and
immediate expression evaluators). The focus of this dissertation is to
demonstrate that attribute grammars furnish a suitable declarative formalism
with which to overcome this serious deficiency. SML is the main target
language, although a similar development should be possible for most other
mathematical modeling languages. The feasibility of the proposed approach is
demonstrated by expressing the full syntax and semantics of SML in attribute
grammar equations, and by using them in conjunction with the Cornell
Synthesizer Generator to generate a language-directed editor for SML on a
UNIX workstation. Both the automatic detection of missing language constructs
and the immediate evaluation of numerical and logical expressions are
addressed.
- [747]
- Robert L. Nord and Frank
Pfenning.
The ergo attribute system.
In Peter Henderson, editor, ACM SIGSOFT/SIGPLAN Symp. on Practical
Software Development Environments, pages 110-120. ACM press, Boston,
MA, November 1988.
Joint issue with ACM SIGPLAN Notices 24, 2 (February 1989)Published as SIGSOFT
Software Eng. Notes, volume 13, number 5.
The Ergo Attribute
System was designed to satisfy the requirements for attributes in a
language-generic program derivation environment. It consists of three
components: an abstract data type of attributes that guarantees attribute
consistency; a Common Lisp implementation which combines demand-driven and
incremental attribute evaluation in a novel way while allowing for attribute
persistence over many generations of a program; and an attribute-grammar
compiler producing code based on this abstract data type from a high-level
specification. Experience with three major applications (one being the
attribute-grammar compiler itself) confirms that the overhead in storing and
accessing attributes incurred by the implementation scheme is more than
offset by the gains from the demand-driven, incremental, and persistent
nature of attribution.
- [1034]
- Janet A. Walz.
Extending Attribute Grammar and Type Inference Algorithms.
Ph.D. thesis, Cornell University, February 1989.
Gated attribute
grammars and error-tolerant unification expand upon the usual views of
attribute grammars and unification. Normally, attribute grammars are
constrained to be noncircular; gated attribute grammars allow fairly general
circularities. Most unification algorithms do not behave well when given
inconsistent input; the new unification paradigm proposed here not only
tolerates inconsistencies but extracts information from them. The expanded
views prove to be useful in interactive language-based programming
environments. Generalized unification allows the environment to help the user
find the sources of type errors in a program, while gated attribute grammars
allow the environment to provide an interpreter for incremental reevaluation
of programs after small changes to the code. The defining feature of gated
attribute grammars is the appearance of a gate attribute (indicating where
cycle evaluation should begin and end) within every cycle. Attributes are
ordered by collapsing strongly connected components in the dependency graph
and topologically sorting the result. The smaller dependency graph for each
component (ignoring edges leading to the gate) can be recursively collapsed
to provide further ordering. use of the evaluation order defined in this
manner allows gated attribute grammars to do without the restrictions on
functions within a component needed by the other varieties of circular
attribute grammars. Initial and incremental evaluation algorithms are given,
as well as a sample grammar allowing an editor for a small language to become
an incremental interpreter. Counting unification defines unique solutions to
sets of input equations that contain conflicting type information. These
solutions are derived from the potential variable constraints implied by the
input equations. For each type variable, each branch (a portion of a
constraint) is assigned a weight indicating the number of times the input set
implied such a constraint. When the input equations are derived from the
static analysis of a program, the relative branch weights for a conflicting
variable give the overall pattern of uses of that variable and can direct
attention to parts of the program that disagree with the majority of uses. A
number of error-tolerant unification algorithms are presented.