Nested Software Structure generated by aedNLC graph grammar–technical report (original) (raw)

Graph grammar engineering: A software specification method

Lecture Notes in Computer Science, 1987

Graphs as conceptual data models are accepted and used in a wide range of different problem areas. Giving some examples we outline common aspects for modeling complex structures by graphs. We present a formal frame-work based on graph grammars to specify graph classes and the corresponding graph manipulations. We show that such a specification can be written in a systematic, engineering-like manner. This is achieved by an extension of the known programmed, attributed graph grammars. Node-set operators are introduced to facilitate graph queries. Concepts like abstraction, decomposition, refinement, parameterization, and integration have been adopted from software engineering to yield a comprehensive specification method. This method has successfully been applied to specify the central data structures in a software development environment project.

Model Based Software Engineering, Graph Grammars and Graph Transformations

2004

The evolution of programming languages shows a clear direction towards higher levels of abstraction. This evolution started from assembly languages, went on to procedural languages, then to object oriented languages and now the state of the art is component oriented languages and frameworks. In the same timeframe top down approaches classified as Model Based Software Engineering [6] attempted to bridge large semantic gaps between very-high-level semantic models and programming languages, and failed.

Formalizing Software Refactoring in the Distributed Environment by aedNLC Graph Grammar

IFIP International Federation for Information Processing, 2006

Being a commonly used technique to enrich the software structure, refactoring -as well as any software changes performed every day -still lacks a good formal definition. Especially in the distributed environment there is a great need for a better mechanism allowing to avoid conflicts and properly merge the changes introduced by different developers. In this paper we continue our project of a core of distributed environment based on graph repository, which helped us to defeat and significantly decrease problems of refactoring conflicts. We focus on technical aspects of the environment and present precise description of the refactorings with the help of aedNLC graph grammar and graph transformation mechanisms. We also discuss some other properties of the graph repository including its abilities to store dynamic software description. Presented approach is based on UML notation, however it could be easily extended for any object-oriented language. The graph repository concept alone could lead to a model of a modem integrated software development environment.

Distributed Software Allocation with help Node Label Controlled Graph Grammars

Advances in computer and communication technologies have revolutionized our modern society. We have also experienced significant growth of applications, which require networking and distributed processing. Some international standards (such as CORBA , DCOM [5], ANSA[2]) allow one to create communication channels among the components created by different programming teams. Configuration programming tools, based on special programming languages (Conic [25], Regis [26], Polylith [30], Durra [3]), are very intuitive with reference to systems,

Concept and Transformationen of an Application Environment for Model Transformations Based on Triple Graph Grammars and Mathematica

2015

Die selbstständige und eigenhändige Ausfertigung versichert an Eides statt Berlin, den Unterschrift This thesis provides a description of an application environment realisation for model transforma-tion / integration based on the triple graph approach. The implementation is performed in Mathem-atica. Due to the use of functional programming in Mathematica, the resulting application shows a low abstraction from the theoretical concepts. The implementation is tested in two case studies for model transformation between class and entity-relationship diagrams. Additionally, the basis for a third case study is introduced. This case study will apply the model transformation and integration to business service and IT service models by the use of ABT-Reo diagrams.

Classification for the Concrete Syntax of Graph-Like Modeling Languages

SN Computer Science

A classification scheme for Graph-Like Modeling Languages (GLML) is presented in this paper. The novelty of this classifier lies in its application to a meta-model for GLML that deviates from the simple graph model and underlies a large number of GLML. The main goal of using this classification scheme is to support the reuse of layout algorithms for GLML. GLML are used directly or indirectly for the development of software by model-based software engineering techniques. In other domains, graph-like models are artifacts (e.g., circuit diagrams, energy flow diagrams) that serve as input for downstream specialized applications (simulators, optimizers). The concrete syntax of a language for creating, editing, and understanding models is highly important for the development of modeling tools. Layout methods for the used languages have to be implemented to achieve software tools with good usability. Developing layout algorithms is a complex topic that is covered by the specialized field o...

Correct transformation: From object-based graph grammars to PROMELA

Science of Computer Programming

Model transformation is an approach that, among other advantages, enables the reuse of existing analysis and implementation techniques, languages and tools. The area of formal verification makes wide use of model transformation because the cost of constructing efficient model checkers is extremely high. There are various examples of translations from specification and programming languages to the input languages of prominent model checking tools, like SPIN. However, this approach provides a safe analysis method only if there is a guarantee that the transformation process preserves the semantics of the original specification/program, that is, that the transformation is correct. Depending on the source and/or target languages, this notion of correctness is not easy to achieve. In this paper, we tackle this problem in the context of Object-Based Graph Grammars (OBGG). OBGG is a formal language suitable for the specification of distributed systems, with a variety of tools and techniques centered around the transformation of OBGG models. We describe in details the model transformation from OBGG models to PROMELA, the input language of the SPIN model checker. Amongst the contributions of this paper are: (a) the correctness proof of the transformation from OBGG models to PROMELA; (b) a generalization of this process in steps that may be used as a guide to prove the correctness of transformations from different specification/programming languages to PROMELA. 215 intuitive level. Graph rules may complementarily be used to capture the dynamical aspects of systems. The resulting notion of Graph Grammar [3,1,4] generalizes Chomsky grammars from strings to graphs. Due to their declarative nature, GGs are well-suited for concurrent systems' specification and have already been used for the specification of distributed systems . The basic idea is to model the states of a system as graphs and describe the possible state changes as rules (where the left-and right-hand sides are graphs). The behavior of the system is then described via applications of these rules to graphs describing the actual states of a system. Rules operate locally on the state-graph, and therefore it is possible that many rules are applied at the same time. Although formal, GGs are considered intuitive and easy to learn. Thus, this formalism is a good candidate to be integrated and used by the wide community which currently adopts semi-formal, often visual, methods like UML.

A graphical specification of model transformations with triple graph grammars

Model Driven Architecture–Foundations …, 2005

Models and model transformations are the core concepts of OMG's MDA T M approach. Within this approach, most models are derived from the MOF and have a graph-based nature. In contrast, most of the current model transformations are specified textually. To enable a graphical specification of model transformation rules, this paper proposes to use triple graph grammars as declarative specification formalism. These triple graph grammars can be specified within the FUJABA tool and we argue that these rules can be more easily specified and they become more understandable and maintainable. To show the practicability of our approach, we present how to generate Tefkat rules from triple graph grammar rules, which helps to integrate triple graph grammars with a state of a art model transformation tool and shows the expressiveness of the concept.

Graph grammar engineering with PROGRES

Software Engineering—ESEC'95, 1995

Graph-like data structures and rule-based systems play an important role within many branches of computer science. Nevertheless, their symbiosis in the form of graph rewriting systems or graph grammars are not yet popular among software engineers. This is a consequence of the fact that graph grammar tools were not available until recently and of the lack of knowledge about how to use graph grammars for software development purposes. "Graph grammar engineering'' is a first attempt to establish a new graph and rule centered methodology for the development of information system components. Having its roots in the late 80's it gradually evolved from a "paper and pencil'' specification formalism to a tool-assisted specification and rapid prototyping approach.