Graphs play an important role within many areas of computer science. Rule-based languages, on the other hand, are well-suited for the description of transformation or inference processes on complex data structures. Why not combining two successful principles in one formalism? This is the common vision of the graph transformation community and the main motivation behind the development of PROGRES, a visual language that supports PROgramming with Graph REwriting Systems. The language PROGRES was developed having the following three design goals in mind: (1) Distinguish between data de nition and manipulation activities and use graph schemata to type-check graph transformation rules. (2) Do not rely on the rule-oriented paradigm for all purposes, but support also imperative programming with control structures. (3) Refrain users from the task to guarantee con uence of de ned rules by keeping track of rewriting con icts and backtracking out of dead-end derivations. Its accompanying programming environment o ers assistance for creating, analyzing, compiling, and debugging graph transformations as well as for rapid prototyping activities. Being an integrated set of tools with support for intertwining these activities, it combines the exibility of interpreted languages with the safeness of compiled and statically typed languages.
The conceptual modeling approach of the IPSEN (Integrated Project Support Environment) project for building highly integrated environments is basedon using attributed graphs to model and implement arbitrary object structures, in particular all kinds of software documentsand their relationships. A language based on graph grammars, called PROGRESS(Programmed Graph REwriting SyStems),and a suitable method for the application of this language, called graph grammar engineering, have been developedover the last ten years. This language and methcld are being extensively used for specifying the complex graph structures of internal documentrepresentationsas well asfor specifyingthe functionality of all tools (editors,browsers, analyzers, debuggers) working on these internal representations. This paper explains the language and the method for applying the language basedon a pragmatic nontrivial exampleof a software production processand its correspondingdocuments.In particular, it is shown why and how a graph grammar-basedstrongly typed languageis perfectly suitable to formally specify highly integrated software tools. In addition, it is shown that the implementation of these tools (i.e., an environment composedof these tools) is systematically being derived from the formal specifications.
We describe a high-level approach to the construction of software development environments (SDEs) featuring a new degree of automation. It combines a variety of reuse approaches into one powerful machinery. Based on suitable specification formalisms (context-free grammars as well as graph rewriting systems), generator tools, and a framework implementation, the IFSEN meta environment allows the construction of software development environments supporting textual and graphical editors, analyzers, and other complex tools. The meta environment itself has also been bootstrapped from specijkations and the framework.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.