Results 1 - 10
of
46
Towards an Engineering Discipline for GRAMMARWARE
- ACM Transactions on Software Engineering Methodology
, 2003
"... Grammarware comprises grammars and all grammar-dependent software, i.e., software artifacts that directly involve grammar knowledge. The term grammar is meant here in the widest sense to include XML schemas, syntax definitions, interface descriptions, APIs, and interaction protocols. The most obv ..."
Abstract
-
Cited by 91 (7 self)
- Add to MetaCart
Grammarware comprises grammars and all grammar-dependent software, i.e., software artifacts that directly involve grammar knowledge. The term grammar is meant here in the widest sense to include XML schemas, syntax definitions, interface descriptions, APIs, and interaction protocols. The most obvious examples of grammar-dependent software are document processors, parsers, import/export functionality, and generative programming tools. Even though grammarware is so omnipresent, it is somewhat neglected --- from an engineering point of view. We lay out an agenda that is meant to promote research on improving the quality of grammarware and on increasing the productivity of grammarware development.
A comparison of pebble tree transducers with macro tree transducers
- Acta Informatica
, 2003
"... Abstract. The n-pebble tree transducer was recently proposed as a model for XML query languages. The four main results on deterministic transducers are: First, (1) the translation τ of an n-pebble tree transducer can be realized by a composition of n + 1 0-pebble tree transducers. Next, the pebble t ..."
Abstract
-
Cited by 33 (8 self)
- Add to MetaCart
Abstract. The n-pebble tree transducer was recently proposed as a model for XML query languages. The four main results on deterministic transducers are: First, (1) the translation τ of an n-pebble tree transducer can be realized by a composition of n + 1 0-pebble tree transducers. Next, the pebble tree transducer is compared with the macro tree transducer, a well-known model for syntax-directed semantics, with decidable type checking. The 0-pebble tree transducer can be simulated by the macro tree transducer, which, by the first result, implies that (2) τ can be realized by an (n+1)-fold composition of macro tree transducers. Conversely, every macro tree transducer can be simulated by a composition of 0-pebble tree transducers. Together these simulations prove that (3) the composition closure of n-pebble tree transducers equals that of macro tree transducers (and that of 0-pebble tree transducers). Similar results hold in the nondeterministic case. Finally, (4) the output languages of deterministic n-pebble tree transducers form a hierarchy with respect to the number n of pebbles. 1
Towards Automatic Translation of UML Models into Semantic Domains
- Proc. of APPLIGRAPH Workshop on Applied Graph Transformation (AGT 2002
, 2002
"... The use of UML for software speci cation leads usually to lots of diagrams showing dierent aspects and components of the software system in several views. In order to support a view-oriented approach to system modeling, consistency in views and in between views has to be manageable. It is a rea ..."
Abstract
-
Cited by 25 (9 self)
- Add to MetaCart
The use of UML for software speci cation leads usually to lots of diagrams showing dierent aspects and components of the software system in several views. In order to support a view-oriented approach to system modeling, consistency in views and in between views has to be manageable. It is a reasonable approach to consistency management when rst choosing a suitable semantic domain, provide a partial mapping into this domain, and specify as well as verify consistency constraints formulated in that domain. Annotated meta model rules can be used to translate elements of UML models into the semantic domain chosen. In this contribution, we consider triple graph grammars and attributed graph transformation approaches for the precise de nition of meta model rules and outline the tool support for automatic translation.
Declarative Program Transformation: a Deforestation case-study
, 1999
"... Software engineering has to reconcile modularity with e- ciency. One way to grapple with this dilemma is to automatically transform a modular-specied program into an ecient-implementable one. ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
Software engineering has to reconcile modularity with e- ciency. One way to grapple with this dilemma is to automatically transform a modular-specied program into an ecient-implementable one.
A document-oriented paradigm for the construction of content-intensive applications
- The Computer Journal
, 2006
"... In this paper we describe our work on the formulation of a document-oriented paradigm for improving the construction and maintenance of content-intensive applications (i.e. applications that make intensive use of the information provided by the experts in a given domain: the contents). According to ..."
Abstract
-
Cited by 12 (9 self)
- Add to MetaCart
In this paper we describe our work on the formulation of a document-oriented paradigm for improving the construction and maintenance of content-intensive applications (i.e. applications that make intensive use of the information provided by the experts in a given domain: the contents). According to this paradigm, the development of a content-intensive application must be the result of close collaboration between two kinds of actors: domain experts and developers. The goal of this collaboration is the authoring of (i) a set of documents describing the most relevant aspects of the application (i.e. the contents and other relevant customizable features); (ii) a grammar describing a domain-specific markup language that will be used to make the structure and the data in these documents explicit and (iii) a suitable processor for this language. The final running application will be automatically produced by processing the marked documents with this processor. The use of this paradigm in the development of content-intensive applications can increase the initial cost of application production, but in the long run it can substantially improve maintenance and portability, and promote information and software reuse as well. We have successfully applied this paradigm to the development of educational and hypermedia applications, and knowledge-based systems. From these experiences, we have found that the feasibility of the paradigm depends to a
Attribute Grammars and Folds: Generic Control Operators
, 1996
"... Generic control operators, such as fold, have been introduced in functional programming to increase the power and applicability of data-structure-based transformations. This is achieved by making the structure of the data more explicit in program specifications. We argue that this very important pro ..."
Abstract
-
Cited by 9 (5 self)
- Add to MetaCart
Generic control operators, such as fold, have been introduced in functional programming to increase the power and applicability of data-structure-based transformations. This is achieved by making the structure of the data more explicit in program specifications. We argue that this very important property is one of the original concepts of attribute grammars. In this paper, we informally show the similarities between the fold formalism and attribute grammar specifications. We also compare their respective method to eliminate the intermediate data structures introduced by function composition (notion of deforestation or fusion): the normalization algorithm for programs expressed with folds and the descriptional composition of attribute grammars. Rather than identify the best way to achieve deforestation, the main goal of this paper is merely to intuitively present two programming paradigms to each other's supporting community and provide an unbiased account of their similarities and diff...
Dynamic Attribute Grammars
, 1996
"... Although Attribute Grammars were introduced long ago, their lack of expressiveness has resulted in limited use outside the domain of static language processing. With the new notion of Dynamic Attribute Grammars defined on top of Grammar Couples, informally presented in a previous paper, we show that ..."
Abstract
-
Cited by 8 (4 self)
- Add to MetaCart
Although Attribute Grammars were introduced long ago, their lack of expressiveness has resulted in limited use outside the domain of static language processing. With the new notion of Dynamic Attribute Grammars defined on top of Grammar Couples, informally presented in a previous paper, we show that it is possible to extend this expressiveness and to describe computations on structures that are not just trees, but also on abstractions allowing for infinite structures. The result is a language that is comparable in power to most first-order functional languages, with a distinctive declarative character. In this paper, we give a formal definition of Dynamic Attribute Grammars and show how to construct efficient visit-sequence-based evaluators for them, using traditional, well-established AG techniques (in our case, using the FNC-2 system). The major contribution of this approach is to restore the intrinsic power of Attribute Grammars and re-emphasize the effectiveness of analysis and imp...
Architecture Description Languages for Programmable Embedded Systems
- In IEE Proceedings on Computers and Digital Techniques
, 2005
"... Embedded systems present a tremendous opportunity to customize designs by exploiting the application behavior. Shrinking time-to-market, coupled with short product lifetimes create a critical need for rapid exploration and evaluation of candidate architectures. Architecture Description Languages (AD ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Embedded systems present a tremendous opportunity to customize designs by exploiting the application behavior. Shrinking time-to-market, coupled with short product lifetimes create a critical need for rapid exploration and evaluation of candidate architectures. Architecture Description Languages (ADL) enable exploration of programmable architectures for a given set of application programs under various design con-straints such as area, power, and performance. The ADL is used to specify programmable embedded systems including processor, coprocessor and memory architectures. The ADL specification is used to generate a variety of software tools and models facilitating exploration and validation of candidate architectures. This chapter surveys the existing ADLs in terms of (a) the inherent features of the languages; and (b) the methodologies they support to enable simulation, compilation, synthesis, test generation, and validation of programmable embedded systems. It concludes with a discussion of relative merits and demerits of the existing ADLs, and expected features of future ADLs. 1
Multiple Attribute Grammar Inheritance
, 1999
"... The language design process should be supported by modularity and abstraction in a manner that allows incremental changes as easily as possible. To at least partially fullfil this ambitious goal a new object-oriented attribute grammar specication language which supports multiple attribute grammar in ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
The language design process should be supported by modularity and abstraction in a manner that allows incremental changes as easily as possible. To at least partially fullfil this ambitious goal a new object-oriented attribute grammar specication language which supports multiple attribute grammar inheritance is introduced. Multiple attribute grammar inheritance is a structural organization of attribute grammars where the attribute grammar inherits the specifications from ancestor attribute grammars, may add new specifications or may override some specifications from ancestor specifications. With the proposed approach a language designer has the chance to design incrementally a language or reuse some fragments from other programming language specifications. The multiple attribute grammar inheritance is first introduced using an example, and thereafter by a formal model. The proposed approach is successfully implemented in the compiler/interpreter generator tool LISA ver. 2.0.
Building Applications with Domain-Specific Markup Languages: A Systematic Approach to the Development of XML-based Software
- ICWE
, 2003
"... Abstract. This paper presents ADDS, a systematic approach to sofware development using Domain-Specific Languages (DSLs) and markup technologies. XML is used as a common descriptive framework for DSLs formulation, obtaining Domain Specific Markup Languages (DSMLs). According to ADDS, the construction ..."
Abstract
-
Cited by 7 (6 self)
- Add to MetaCart
Abstract. This paper presents ADDS, a systematic approach to sofware development using Domain-Specific Languages (DSLs) and markup technologies. XML is used as a common descriptive framework for DSLs formulation, obtaining Domain Specific Markup Languages (DSMLs). According to ADDS, the construction of applications in a domain starts with the provision of suitable DSMLs. Then, the applications in such a domain are described by means of sets of structured documents conforming these DSMLs. Finally, the application is produced by processing this documentation according to an operationalization model called OADDS. Hence ADDS provides a systematic approach to software development based on the processing of XMLdocumentation that can be used in a great variety of domains. 1

