László Lengyel

Learn More
Highly configurable metamodeling environments and graph transformation techniques have been applied successfully in software system modeling and other areas. In this paper a uniform treatment of these two methods is illustrated by a tool called Visual Modeling and Transformation System. The concepts of an n-layer metamodeling environment is outlined with(More)
Graph transformation has been widely used for expressing model transformations. Especially transformations of visual models can be naturally formulated by graph transformations, since graphs are well suited to describe the underlying structures of models. Based on a common sample model transformation, four different model transformation approaches are(More)
Model transformation means converting an input model available at the beginning of the transformation process to an output model. A widely used approach to model transformation uses graph rewriting as the underlying transformation technique. In case of diagrammatic languages, such as the Unified Modeling Language (UML), the exclusive topological matching is(More)
Verification of models and model processing programs are inevitable in real-world model-based software development. Model transformation developers are interested in offline verification methods, when only the definition of the model transformation and the metamodels of the source and target languages are used to analyze the properties and no concrete input(More)
Metamodeling is a widely applied technique in the field of graphical languages to create highly configurable modeling environments. These environments support the rapid development of domain-specific modeling languages (DSMLs). Design patterns are efficient solutions for recurring problems. With the proliferation of DSMLs, there is a need for(More)
The introduction of UML class diagrams has not raised the abstraction level of development to the extent that was intended: class diagrams are only the visual representations of source class skeletons implemented in a programming language. To improve the productivity, domain-specific languages are applied, which cover a narrow domain, and their high(More)
Aspect-Oriented Software Development (AOSD) is an emerging area with the goal of promoting advanced separation of concerns throughout the software development lifecycle. AOSD started on programming language level, but it must be applicable on a higher abstraction level as well. This paper provides an overview of aspect-oriented software development,(More)