Publications of the University of Bremen Database Systems
Group
- [Clariso and Gogolla, 2019]
- Robert
Clariso and Martin Gogolla.
A Feasibility Study on Using Classifying Terms in Alloy.
In Achim D. Brucker, Frederic Jouaoult, and Gwendal Daniel, editors,
Proc. 19th Workshop OCL and Textual Modeling Languages (OCL
2019), 2019.
TBD
- [Desai and Gogolla, 2019a]
- Nisha
Desai and Martin Gogolla.
A Catalogue of Scenario Patterns for Validating and Verifying Model Behavior.
In Michel Chaudron and Joerg Kienzle, editors, Proc. IEEE/ACM MODELS
2019 Satelite Events (MODELS 2019). IEEE, 2019.
TBD
- [Desai and Gogolla, 2019b]
- Nisha Desai and
Martin Gogolla.
Developing Comprehensive Postconditions Through a Model Transformation Chain.
Journal of Object Technology, AITO, DE, 18(3):5:1-18,
2019.
One important approach for describing behavior in UML and OCL
models is the use of OCL pre- and postconditions. This contribution proposes
a new method for developing comprehensive OCL postconditions for operations
in UML and OCL models, including so-called frame conditions. The method is
realized by a transformation chain from an initial user-developed model into
a semi-automatically derived test case model for checking the model quality.
On the technical side, the method consists of a new formal distinction
between deleted, sustained and added objects for operation behavior. On the
methodological side, the development process is accompanied by a systematic
case distinction, effective defaults and iterative improvement steps through
test cases.
- [Doan and Gogolla,
2019]
- Khanh-Hoang Doan and Martin Gogolla.
Quality Improvement for UML and OCL Models through Bad Smell and Metrics
Definition.
In Michel Chaudron and Joerg Kienzle, editors, Proc. IEEE/ACM MODELS
2019 Satelite Events (MODELS 2019). IEEE, 2019.
TBD
- [Gabmeyer et al., 2019]
- Sebastian
Gabmeyer, Petra Kaufmann, Martina Seidl, Martin Gogolla, and Gerti Kappel.
A Feature-Based Classification of Formal Verification Techniques for Software
Models.
Journal on Software and Systems Modeling, Springer, DE,
18(1):473-498, 2019.
DOI: 10.1007/s10270-017-0591-z, Online 2017-03-27.
Software models are the core development artifact in model-based
engineering (MBE). The MBE paradigm promotes the use of software models to
describe structure and behavior of the system under development and proposes
the automatic generation of executable code from the models. Thus, defects in
the models most likely propagate to executable code. To detect defects
already at the modeling level, many approaches propose to use formal
verification techniques to ensure the correctness of these models. These
approaches are the subject of this survey. We review the state-of-the-art of
formal verification techniques for software models and provide a
feature-based classification that allows us to categorize and compare the
different approaches.
(26 pages, PDF: 310kb via
HTTP)
- [Gogolla and Vallecillo,
2019a]
- Martin Gogolla and Antonio Vallecillo.
An Idealistic Plan for Transforming Media Sources into Books, Slides and
Videos.
In IMichel Chaudron and Joerg Kienzle, editors, Proc. IEEE/ACM MODELS
2019 Satelite Events (MODELS 2019). IEEE, 2019.
TBD
- [Gogolla and Vallecillo, 2019b]
- Martin
Gogolla and Antonio Vallecillo.
On Softening OCL Invariants.
Journal of Object Technology, AITO, DE, 18(2):6:1-22,
2019.
Invariants play a crucial role in system development. This
contribution focuses on invariants in systems with so-called occurrence
uncertainty, where we are interested in deciding whether a certain population
(the set of model instances) of the system satisfies an invariant or not, but
we are unsure about the actual occurrence of the elements of that population,
and also about the degree of satisfaction that is actually required for the
invariant to be fulfilled. Invariants are soft in the sense that they are
required to hold only for a particular, and a priori uncertain, percentage of
the population. The contribution proposes a systematic approach to occurrence
uncertainty and a prototypical implementation for models with uncertainty and
soft invariants allowing to build system states and to make experiments with
them.
- [Gogolla et al., 2019]
- Martin
Gogolla, Nisha Desai, and Khanh-Hoang Doan.
Developing User and Recording Interfaces for Design Time and Runtime Models.
In Hugo Bruneliere, Romina Eramo, and Abel Gomez, editors, Proc. STAF
2019 Workshops, 2nd Workshop Model-Driven Engineering for Design-Runtime
Interaction in Complex Systems (DeRun 2019), pages 39-48. CEUR
Proceedings 2405, 2019.
Design time and runtime models may be uniformly described by UML
and OCL models connected through correspondence models. We propose to develop
a common user interface for both model layers in order to provide systematic
and uniform access through operation calls to design time and runtime items.
Operation calls can be systematically recorded in filmstrip models so that
complete design time and runtime development steps are accessible. From
recorded steps, various standard software models (like class, object and
sequence diagrams) may be derived for documentation and comprehension
purposes.
- [Munoz et al., 2019]
- Paula Munoz, Loli
Burgueno, Martin Gogolla, and Antonio Vallecillo.
Automatic Generation of Valid Behavioral Scripts from UML Sequence Diagrams.
In Achim D. Brucker, Frederic Jouaoult, and Gwendal Daniel, editors,
Proc. 19th Workshop OCL and Textual Modeling Languages (OCL
2019), 2019.
TBD
- [Ortiz et al., 2019]
- Victor Ortiz, Loli
Burgueno, Antonio Vallecillo, and Martin Gogolla.
Native Support for UML and OCL Primitive Datatypes Enriched with Uncertainty
in USE.
In Achim D. Brucker, Frederic Jouaoult, and Gwendal Daniel, editors,
Proc. 19th Workshop OCL and Textual Modeling Languages (OCL
2019), 2019.
TBD
- [Bruneliere et al., 2018]
- Hugo
Bruneliere, Romina Eramo, Abel Gomez, Valentin Besnard, Jean-Michel Bruel,
Martin Gogolla, Andreas Kästner, and Adrian Rutle.
Model-Driven Engineering for Design-Runtime Interaction in Complex Systems:
Scientific Challenges and Roadmap.
In Proc. 1st Workshop Model-Driven Engineering for Design-Runtime
Interaction in Complex Systems (DeRun 2018). Springer, LNCS 11176,
2018.
This paper reports on the first Workshop on Model-Driven
Engineering for Design-Runtime Interaction in Complex Systems (also called
MDE@DeRun 2018) that took place during the STAF 2018 week. It explains the
main objectives, content and results of the event. Based on these, the paper
also proposes initial directions to explore for further research in the
workshop area.
(8 pages, PDF: 97kb via
HTTP)
- [Burgueno et al., 2018]
- Loli Burgueno,
Antonio Vallecillo, and Martin Gogolla.
Teaching UML and OCL Models and their Validation to Software Engineering
Students: An Experience Report.
Journal on Computer Science Education, Taylor and Francis, UK,
28(1):23-41, 2018.
Accepted 2018-03-30.
Models are expanding their use for many different purposes in the
field of software engineering and, due to their importance, universities have
started incorporating modeling courses into their programs. Being a
relatively new discipline, teaching modeling concepts brings in new
challenges. Our contribution in this paper is threefold. First, we list and
describe the main issues we have come across when teaching modeling in a
dedicated Software Engineering course. We then present a simple case study
that we have developed and successfully used in class, which permits students
specify a system and its views, simulate them, check their relations and
perform several kinds of analyses on the overall system specifications. For
this, we use a combination of UML and OCL. Finally, we report on the results
of a survey we conducted among the students of the last two years to evaluate
our proposal, and the lessons we have learned.
(17 pages, PDF: 322kb via
HTTP)
- [Desai and Gogolla, 2018]
- Nisha Desai and
Martin Gogolla.
Generating OCL Constraints from Test Case Schemas for Testing Model Behavior.
In Inmaculada Medina-Bulo, Mercedes G. Merayo, and Robert Hierons, editors,
Proc. 30th Int. IFIP WG 6.1 Conf. Testing Software and
Systems (ICTSS'2018). Springer, LNCS 11146, 2018.
This contribution studies testing behavioral aspects of a given
UML and OCL model. In our approach, a so-called model validator can
automatically generate test cases (object models) by using configurations for
the object models and manually formulated OCL invariants. But expressing OCL
invariants can be complex and difficult, especially for novel or occasional
modelers. In this contribution, we present an approach to automatically
transform a diagrammatic test case schema into a corresponding OCL invariant.
The schema is a visual representation of a behavioral test scenario
constructed by the developer and which is instantiated by the model validator
to achieve different concrete test cases. This approach enhances the
underlying testing technique in making it developer-friendly and independent
of OCL expertise.
(6 pages, PDF: 1157kb via
HTTP)
- [Doan and Gogolla, 2018a]
- Khanh-Hoang
Doan and Martin Gogolla.
Assessing UML Model Quality by Utilizing Metrics.
In Antonia Bertolino and Vasco Amaral, editors, Proc. Int. Conf. Quality
of Information and Communications Technology (QUATIC'2018), pages
92-100. IEEE, 2018.
Utilizing metrics is an efficient mechanism to measure and
evaluate the quality of models, since many well-known and accepted software
metrics have been successfully transferred from the code level to the model
level. In a modeling context, OCL seems to be a natural and qualified choice
for expressing them, because of its expressiveness and its availability in
modeling tools. The metrics employed in this contribution will be defined on
a metamodel level, and their evaluation will be done in an automatically
generated metamodel instantiation that reflects the model under
consideration. The employed metrics cover both the class scope and the model
scope, and software designers can define their own metrics. We introduce a
complete process for model quality assessment with pre-defined metrics. In
addition, a metrics configuration defined by an experienced chief designer
can be translated into OCL invariants and be evaluated to give quality
feedback to software designers relieving them from detailed OCL expertise.
Our approach has been successfully integrated into a software design
tool.
(9 pages, PDF: 828kb via
HTTP)
- [Doan and Gogolla,
2018b]
- Khanh-Hoang Doan and Martin Gogolla.
Extending a UML and OCL Tool for Meta-Modeling: Applications towards Model
Quality Assessment.
In Ina Schaefer, Dimitris Karagiannis, Andreas Vogelsang, Daniel Mindez, and
Christoph Seidl, editors, Proc.
Modellierung (MODELLIERUNG'2018), pages 135-150. GI, LNI 280,
2018.
For developing software in a model-driven style, meta- and
multi-level modeling is currently gaining more and more attention. In this
contribution, we propose an approach to extend a two-level modeling tool to
three-level modeling by adding a meta-model at the topmost level. Standard
OCL does not support reflective constraints, i.e., constraints concerning
properties of the model like the depth of inheritance. By adding an
auto-generated instance of the topmost level to the middle level, we can
offer an option for writing reflective constraints and queries. We apply the
extension to demonstrate the usefulness of meta-modeling for model querying
and model quality assessment. A first proposal towards level-crossing
constraints is also put forward.
(16 pages, PDF: 823kb via
HTTP)
- [Doan and Gogolla, 2018c]
- Khanh-Hoang
Doan and Martin Gogolla.
Logical Reasoning with Object Diagrams in a UML and OCL Tool.
In Peter Chapman, Gem Stapleton, Amirouche Moktefi, Sarah Perez-Kriz, and
Francesco Bellucci, editors, Proc. 10th Int. Conf. Diagrams (DIAGRAMS
2018). Springer, LNAI 10871, 2018.
In this contribution, we introduce an approach to visualize and
analyze logical reasoning problems in a UML and OCL tool by using logical
puzzles represented with UML diagrams. Logical reasoning is formalized as a
UML class diagram model enhanced by OCL restrictions. Puzzle rules and
questions are expressed as either partial object diagrams or OCL formulas
within the model. Solutions can be found and explored by a tool as object
diagrams.
(4 pages, PDF: 218kb via
HTTP)
- [Gogolla, 2018]
- Martin Gogolla.
Squeezer Graphs: Proposing a Simple Basis for Computing (Meta-)Model
Features.
In Proc. STAF 2018 Workshops, Workshop Graph Computation Models (GCM
2018), 2018.
The paper introduces so-called squeezer graphs that are used to
represent models and their instantiations. In a squeezer graph, multiple
modeling levels are squeezed into a single graph. Properties of models that
span multiple levels like typing uniqueness and other features can be
computed in them in a direct way.
(10 pages, PDF: 293kb via
HTTP)
- [Gogolla and Doan, 2018]
- Martin Gogolla
and Khanh-Hoang Doan.
Visualizing and Analyzing Discrete Sets with a UML and OCL Software Design
Tool.
In Yuri Sato and Zohreh Shams, editors, Proc. 6th Workshop Set
Visualization and Reasoning (SetVR 2018), pages 76-83. CEUR
Proceedings 2116, 2018.
This contribution discusses the visualization of discrete sets.
With diagrams, we realize filtering set elements with particular properties,
study set-theoretic operations, and exhibit set elements and their internal
relationships. These techniques allow software developers to explore crucial
set properties diagramatically.
(8 pages, PDF: 575kb via
HTTP)
- [Gogolla and Stevens, 2018]
- Martin
Gogolla and Perdita Stevens.
Teaching Modeling in Computer Science as an Ecosystem: A Provocative Analogy.
Journal on Computer Science Education, Taylor and Francis, UK,
28(1):5-22, 2018.
Accepted 2018-04-04.
Teaching modeling in computer science is complicated. Many factors
contribute, and are related in diverse ways. We regard some combinations as
more successful than others, but we also value diversity, and we struggle to
elucidate the relationships and our value structure. Similar remarks apply to
the study of biological ecosystems. This contribution views teaching modeling
as an ecosystem: we push the analogy as far as we can, with the intention of
provoking readers' thought in unaccustomed directions, which may perhaps lead
to interesting advances. We identify the factors that contribute to the
ecosystem and establish some relationships between the constituent factors.
We discuss some of the factors that need further work and improvement.
Finally we discuss what it should mean for the ecosystem of the teaching of
modeling to be healthy.
(16 pages, PDF: 290kb via
HTTP)
- [Gogolla et al., 2018a]
- Martin Gogolla,
Loli Burgueno, and Antonio Vallecillo.
Model Finding and Model Completion with USE.
In Achim D. Brucker, Robert Clariso, and Hao Wu, editors, Proc. 18th
Workshop OCL and Textual Modeling Languages (OCL 2018), pages
194-200. CEUR Proceedings 2245, 2018.
This short contribution demonstrates central options in the tool
USE (Uml-based Specification Environment) for exploring UML models within
software development. It particularly uses so-called classifying OCL terms
for building validation and verification scenarios and for completing partial
models. The contribution demonstrates the tool's options with an example:
statecharts together with a simple syntax model and a model for capturing
finite fractions of the statechart semantics.
(7 pages, PDF: 145kb via
HTTP)
- [Gogolla et al., 2018b]
- Martin
Gogolla, Frank Hilken, and Khanh-Hoang Doan.
Achieving Model Quality through Model Validation, Verification and
Exploration.
Journal on Computer Languages, Systems and Structures, Elsevier,
NL, 54:474-511, 2018.
Online 2017-12-02.
System development strategies, like model-driven
engineering (MDE), help to abstract architectures and provide a promising way
to deal with architecture complexity and design quality. Thus, the importance
for the underlying models to be correct arises. Today's validation and
verification tools should support the developer in generating test cases and
provide good concepts for fault detection. We here introduce and structure
essential use cases for model validation, verification and exploration that
help developers find faults in model descriptions and thus enhance model
quality. Along with the use cases, we demonstrate a modern instance finder
for UML and OCL models based on an implementation of relational logic and
present the results and findings from the tool.
(52 pages, PDF: 1957kb via
HTTP)
- [Hilken et al., 2018]
- Frank Hilken,
Martin Gogolla, Loli Burgueno, and Antonio Vallecillo.
Testing models and model transformations using classifying terms.
Journal on Software and Systems Modeling, Springer, DE,
17(3):885-912, 2018.
DOI: 10.1007/s10270-016-0568-3, Online 2016-12-09.
This paper proposes the use of equivalence partitioning techniques
for testing models and model transformations. In particular, we introduce the
concept of classifying terms, which are general OCL terms on a class model
enriched with OCL constraints. Classifying terms permit defining equivalence
classes, in particular for partitioning the source and target model spaces of
the transformation, defining for each class a set of equivalent models with
regard to the transformation. Using these classes, a model validator tool is
able to automatically construct object models for each class, which
constitute relevant test cases for the transformation. We show how this
approach of guiding the construction of test cases in an orderly, systematic
and efficient manner can be effectively used in combination with Tracts for
testing both directional and bidirectional model transformations and for
analyzing their behavior.
(27 pages, PDF: 2943kb via
HTTP)
- [Kästner et al., 2018a]
- Andreas
Kästner, Martin Gogolla, Khanh-Hoang Doan, and Nisha Desai.
Sketching a Model-Based Technique for Integrated Design and Run Time
Description.
In Proc. STAF 2018 Workshops, Workshop Model-Driven Engineering for
Design-Runtime Interaction in Complex Systems (DeRun 2018), 2018.
The paper sketches a UML- and OCL-based technique for the coherent
description of design time and run time aspects of models. The basic idea is
to connect a design model and a run time model with a correspondence model.
We show two simple examples, one for structural modeling and one for
behavioral modeling, that explain the underlying principles. As all three
models are formulated in the same language, UML and OCL, one can reason about
the single models and their relationships in a comprehensive
way.
(6 pages, PDF: 192kb via
HTTP)
- [Kästner et al., 2018b]
- Andreas
Kästner, Martin Gogolla, and Bran Selic.
From (Imperfect) Object Diagrams to (Imperfect) Class Diagrams.
In Oystein Haugen and Richard Paige, editors, Proc. 21th Int. Conf.
Model Driven Engineering Languages and Systems (MoDELS'2018).
ACM/IEEE, 2018.
In order to achieve effective support for software development,
the transition between an informal and provisional mode of tool operation,
which is conducive to design exploration, and a formal mechanistic mode
required for computer-based design capture is crucial. This contribution
proposes a smooth transition for designing class models starting from
informal, sketchy object models. We propose a lenient development approach
and discuss the possibilities and problems of a transformation from object
diagrams to class diagrams. While classes describe abstract concepts, objects
are representations of what can be seen in the real world, so it might be
easier to start modeling with objects instead of classes. An object diagram
can however not describe a whole system, it is only used as the first step of
an iterative process to create a complete model. During this process, our
object and class diagrams provide a notation for highlighting missing or
conflicting parts. Based on these imperfect object diagrams, educated guesses
can be made for resulting, imperfect class diagrams, which can then be
refined to a complete, formal description of the modeled
system.
(10 pages, PDF: 1062kb via
HTTP)
- [Kästner et al., 2018c]
- Andreas
Kästner, Martin Gogolla, and Bran Selic.
Towards Flexible Object and Class Modeling Tools: An Experience Report.
In Davide di Ruscio, Juan de Lara, and Alfonso Pierantonio, editors,
Proc. 4th Flexible MDE Workshop (FlexMDE 2018), pages
233-242. CEUR Proceedings 2245, 2018.
Recently, we have proposed an approach for class modeling starting
from imperfect object models. The underlying process puts emphasis on the
free expression of ideas of the developer through allowing to formulate
incomplete and even inconsistent object diagrams. From these object diagrams,
class diagrams are deduced. This paper reports on experiences with a
supporting tool grouped into two categories. One category involves students
at a university and how they get along with the general concept and the tool.
The other category shows how researchers work with our proposed
ideas.
(10 pages, PDF: 173kb via
HTTP)
- [Bill et al., 2017]
- Robert Bill, Achim D.
Brucker, Jordi Cabot, Martin Gogolla, Antonio Vallecillo, and Edward D.
Willink.
Workshop in OCL and Textual Modelling: Report on Recent Trends and Panel
Discussions.
In Martina Seidl and Steffen Zschaler, editors, Proc. STAF 2017
Workshops, Workshop Object Constraint Language (OCL 2016), pages
297-301. Springer, LNCS 10748, 2017.
This paper reports on the panel session of the 17th Workshop in
OCL and Textual Modelling, As in previous years, the panel session featured
several lightning talks for presenting recent developments and open questions
in the area of OCL and textual modelling. During this session, the OCL
community discussed, stimulated through short pre- sentations by OCL experts
proposal for improving OCL to increase the attractiveness of textual
modelling. This paper contains a summary of the workshop from the workshop
organisers as well as summaries of two lightning talks provided by their
presenters.
(5 pages, PDF: 338kb via
HTTP)
- [Burgueno and Gogolla, 2017]
- Loli
Burgueno and Martin Gogolla.
Formally Modeling, Executing, and Testing Service-Oriented Systems with UML
and OCL.
In E. Michael Maximilien, Antonio Vallecillo, Jianmin Wang, and Marc Oriol,
editors, Proc. 15th Int. Conf. Service-Oriented Computing (ICSOC
2017), pages 113-122. Springer, LNCS 10601, 2017.
One of the issues that developers of service-oriented systems
currently discuss is the lack of practical, but formal modeling notations and
tools that can address the many different, important aspects. This paper
presents an approach to model structural and behavioral properties of
service-oriented systems with UML and OCL models. Essential service-oriented
concepts as service request, service provision or orchestration are formally
represented by UML concepts. The models can be executed, tested and analyzed.
Feedback is given to the developer in terms of the UML and OCL
model.
(9 pages, PDF: 1413kb via
HTTP)
- [Burgueno et al., 2017a]
- Loli Burgueno,
Frank Hilken, Antonio Vallecillo, and Martin Gogolla.
Testing Transformation Models Using Classifying Terms.
In Esther Guerra and Mark van den Brand, editors, Proc. 10th Int. Conf.
Model Transformation (ICMT 2017), pages 69-85. Springer,
LNCS 10374, 2017.
Testing the correctness of the specication of a model
transformation can be as hard as testing the model transformation itself.
Besides, this test has to wait until at least one implementation is
available. In this paper we explore the use of tracts and classifying terms
to test the correctness of a model transformation specication (a
transformation model) on its own, independently from any implementation. We
have validated the approach using two experiments and report on the problems
and achievements found concerning conceptual and tooling
aspects.
(16 pages, PDF: 374kb via
HTTP)
- [Burgueno et al., 2017b]
- Loli
Burgueno, Antonio Vallecillo, and Martin Gogolla.
Teaching Model Views with UML and OCL.
In Loli Burgueno and et al., editors, Proc. MODELS Educators'
Symposium (EDUSYMP 2017), pages 533-538. CEUR Proceedings 2019,
2017.
The specification of any non-trivial system is normally composed
of a set of models. Each model describes a different view of the system,
focuses on a particular set of concerns, and uses its own notation. For
example, UML defines a set of diagrams for modelling the structure and
behavior of any software system. One of the problems we perceived with our
students is that they are able to understand each one of these diagrams, but
they have problems understanding how they are related, and how the overall
system specifications work when composed of a set of views. This paper
presents a simple case study that we have developed and successfully used in
class, which permits students developing the principal views of a system,
simulate them, and check their relations.
(6 pages, PDF: 178kb via
HTTP)
- [Desai et al., 2017]
- Nisha Desai, Martin
Gogolla, and Hilken Frank.
Executing Models by Filmstripping: Enhancing Validation by Filmstrip Templates
and Transformation Alternatives.
In Loli Burgueno and et al., editors, Proc. Workshop Executable
Modeling (EXE 2017), pages 88-94. CEUR Proceedings 2019, 2017.
This paper discusses an approach to execute models with filmstrip
templates in order to enhance the validation and execution process so that
model execution time is decreased. A filmstrip template identifies recurring
model parts. When such recurring model parts are constructed only once, model
validation time is reduced.We also improve our previous filmstrip approach by
employing more efficient architectures for the needed filmstrip
transformation. By performing a feasibility study we check and show the
performance of our filmstrip templates for different architectures and
compare execution times for particular test cases. Among the developed and
tested seven architectures, three show particular good results with respect
to execution and validation time.
(7 pages, PDF: 542kb via
HTTP)
- [Doan and Gogolla, 2017]
- Khanh-Hoang Doan
and Martin Gogolla.
Extending a UML and OCL Tool for Multi-levels: Applications Towards Model
Quality Assessment.
In Loli Burgueno and et al., editors, Proc. Workshop Multi-Level
Modelling (MULTI 2017), pages 251-251. CEUR Proceedings 2019,
2017.
Currently, meta- and multi-level modelling is gaining more and
more attention. A natural, upcoming question is, how to extend existing
two-level approaches to cover multi-levels. In this contribution, we extend
the UML and OCL tool USE in order to describe multi-level models. We also
apply the extension to demonstrate the usefulness of multi-level modelling
for model querying and model quality assessment.
(1 pages, PDF: 262kb via
HTTP)
- [Gogolla, 2017]
- Martin Gogolla.
On Understanding Teaching Modeling in Computer Science as an Ecosystem.
In Loli Burgueno and et al., editors, Proc. MODELS Educators'
Symposium (EDUSYMP 2017), pages 516-520. CEUR Proceedings 2019,
2017.
This contribution views teaching modeling as an ecosystem. We
identify the factors that make up the ecosystem and establish some
relationships between the constituing factors. We discuss some of the factors
that need further work and improvement.
(4 pages, PDF: 192kb via
HTTP)
- [Gogolla and Doan, 2017]
- Martin
Gogolla and Khanh-Hoang Doan.
Quality Improvement of Conceptual UML and OCL Schemata through Model
Validation and Verification.
In Jordi Cabot, Cristina Gomez, Oscar Pastor, Maria-Ribera Sancho, and Ernest
Teniente, editors, Conceptual Modeling Perspectives, pages
155-168. Springer, Berlin, 2017.
The context of this paper is the tool USE (UML-based Specification
Environment), that supports the development of UML models enhanced by OCL
constraints. One USE component that is in charge for validation and
verification is the so-called model validator that transforms UML and OCL
models as well as validation and verification tasks into the relational logic
of Kodkod, checks on the Kodkod level, and transforms the obtained results
back in terms of the UML and OCL model. The modeler works on the UML and OCL
level only without a need for expressing details on the relational logic
level, i.e., on the Kodkod level. We discuss how to apply the tool USE in a
larger example and demonstrate the advantages of our approach for relational
database design. We start with a conceptual UML model in form of a UML class
diagram and transform this conceptual schema into a relational database
schema that is again represented as a UML class model. The typical
constraints in the relational database model as primary and foreign key
constraints are formulated as OCL invariants. We check properties of the
resulting model with our tool USE.
(15 pages, PDF: 1078kb via
HTTP)
- [Gogolla and Vallecillo, 2017]
- Martin
Gogolla and Antonio Vallecillo.
(An Example for) Formally Modeling Robot Behavior with UML and OCL.
In Martina Seidl and Steffen Zschaler, editors, Proc. STAF 2017
Workshops, Workshop Model-Driven Robot Software Engineering (MORSE
2016), pages 232-246. Springer, LNCS 10748, 2017.
One of the problems that the design and development of robotic
applications currently have is the lack of unified formal modeling notations
and tools that can address the many different aspects of these kinds of
applications. This paper presents a small example of a chain of robotized
arms that move parts in a production line, modeled using a combination of UML
and OCL. We show the possibilities that these high-level notations provide to
describe the structure and behaviour of the system, to model some novel
aspects such as measurement uncertainty and tolerance of physical elements,
and to perform several kinds of analyses.
(15 pages, PDF: 388kb via
HTTP)
- [Gogolla et al., 2017a]
- Martin
Gogolla, Esther Guerra, and et al., editors.
Proc. MODELS'2017 Posters, http://ceur-ws.org/Vol-2019/,
2017. CEUR Workshop Proceedings, Vol. 2019.
Satellite Events at the MODELS'2017 Conference, pp. 463-478.
The proceedings contain the accepted contributions for the Poster
sessions at the MODELS'2017 conference.
- [Gogolla et al., 2017b]
- Martin Gogolla,
Frank Hilken, Khanh-Hoang Doan, and Nisha Desai.
Checking UML and OCL Model Behavior with Filmstripping and Classifying Terms.
In Sebastian Gabmeyer and Einar Broch Johnsen, editors, Proc. 11th Int.
Conf. Tests and Proofs (TAP 2017), pages 119-128. Springer,
LNCS 10375, 2017.
This tool paper discusses how model behavior expressed in a UML
and OCL model can be analysed with filmstrips and classifying terms in the
tool USE. Classifying terms are a means for systematic construction of test
cases. In the case of behavior models, these test cases correspond to testing
the model with different sequence diagrams. We explain how behavior analysis
can be carried out in the tool. We discuss lessons learnt from the case study
and how conceptual and technical support can be improved.
(10 pages, PDF: 467kb via
HTTP)
- [Gogolla et al., 2017c]
- Martin Gogolla,
Frank Hilken, and Andreas Kästner.
Some Narrow and Broad Challenges in MDD.
In Martina Seidl and Steffen Zschaler, editors, Proc. STAF 2017
Workshops, Workshop Grand Challenges in Modeling (GRAND 2017), pages
172-177. Springer, LNCS 10748, 2017.
This contribution describes a number of challenges in the context
of Model-Driven Development for systems and software. The context of the work
are formal descriptions in terms of UML and OCL. One focus point is on making
such formal models more approachable to standard developers.
(6 pages, PDF: 218kb via
HTTP)
- [Gogolla et al., 2017d]
- Martin Gogolla,
Frank Hilken, Philipp Niemann, and Robert Wille.
Formulating Model Verification Tasks Prover-Independently as UML Diagrams.
In Anthony Anjorin and Huascar Espinoza, editors, Proc. 13th European
Conf. Modeling Foundations and Application (ECMFA 2017), pages
232-247. Springer, LNCS 10376, 2017.
The success of Model-Driven Engineering (MDE) relies on the
quality of the employed models. Thus, quality assurance through validation
and verification has a tradition within MDE. But model verification is
typically done in the context of specialized approaches and provers.
Therefore, verification tasks are expressed from the viewpoint of the chosen
prover and approach requiring particular expertise and background knowledge.
This contribution suggests to take a new view on verification tasks that is
independent from the employed approach and prover. We propose to formulate
verifications tasks in terms of the used modeling language itself, e.g. with
UML and OCL. As prototypical example tasks we show how (a) questions
concerning model consistency can be expressed with UML object diagrams and
(b) issues regarding state reachability can be defined with UML sequence
diagrams.
(16 pages, PDF: 498kb via
HTTP)
- [Gogolla et al., 2017e]
- Martin Gogolla,
Antonio Vallecillo, Loli Burgueno, and Frank Hilken.
Employing Classifying Terms for Testing Model Transformations.
In Jan Jürjens and Kurt Schneider, editors, Proc. Software
Engineering (2017), pages 91-92. GI, LNI 267, 2017.
Our contribution proposes a new technique for developing test
cases for UML and OCL models, based on an approach that automatically
constructs object models for class models enriched by OCL constraints. By
guiding the construction process through so-called classifying terms, the
built test cases in form of object models are classified into equivalence
classes. Classifying terms are general OCL terms on a class model that
calculate a characteristic value for each object model. Each equivalence
class is then defined by the set of object models with identical
characteristic values and with one canonical representative object model. By
inspecting these object models, a developer can explore properties of the
class model and its constraints.
(2 pages, PDF: 399kb via
HTTP)
- [Mierlo et al., 2017]
- Simon Van Mierlo,
Erwan Bousse, Hans Vangheluwe, Manuel Wimmer, Clark Verbrugge, Martin
Gogolla, Matthias Tichy, and Arnaud Blouin.
Report on the 1st Int. Workshop on Debugging in Model-Driven Engineering.
In Loli Burgueno and et al., editors, Proc. Workshop Debugging in
Model-Driven Engineering (MDEbug 2017), pages 441-446. CEUR
Proceedings 2019, 2017.
System developers spend a significant part of their time debugging
systems (i.e., locating and fixing the cause of failures observed through
verification and validation (V&V)). While V&V techniques are commonly used in
model-driven engineering, locating and fixing the cause of a failure in a
modelled system is most often still a manual task without toolsupport.
Although debugging techniques are well-established for programming languages,
only a few debugging techniques and tools for models have been proposed.
Debugging models faces various challenges: handling a wide variety of models
and modelling languages; adapting debugging techniques initially proposed for
programming languages; tailoring debugging approaches for the domain expert
using the abstractions of the considered language. The aim of the first
edition of the MDEbug workshop was to bring together researchers wanting to
contribute to the emerging field of debugging in model-driven engineering by
discussing new ideas and compiling a research agenda. This paper summarizes
the workshop's discussion session and distils a list of challenges that
should be addressed in future research.
(6 pages, PDF: 165kb via
HTTP)
- [Vallecillo and Gogolla,
2017]
- Antonio Vallecillo and Martin Gogolla.
Adding Random Operations to OCL.
In Loli Burgueno and et al., editors, Proc. Workshop Model Driven
Engineering, Verification and Validation (MODEVVA 2017), pages
324-328. CEUR Proceedings 2019, 2017.
This paper presents an extension of OCL to allow modellers to deal
with random numbers and probability distributions in their OCL
specifications. We show its implementation in the tool USE and discuss some
advantages of this new feature for the validation and verification of
models.
(5 pages, PDF: 703kb via
HTTP)
- [Balaban et al., 2016]
- Mira Balaban,
Phillipa Bennett, Khanh-Hoang Doan, Geri Georg, Martin Gogolla, Igal Khitron,
and Michael Kifer.
A Comparison of Textual Modeling Languages: OCL, Alloy, FOML.
In Achim D. Brucker, Jordi Cabot, and Adolfo Sanchez-Barbudo Herrera, editors,
Proc. Workshop OCL and Textual Modelling (2016), pages
57-72. CEUR WS Proceedings 1756, 2016.
Textual modeling languages are used in model-driven engineering
for a variety of purposes. Among the most important purposes are querying a
model and formulating restrictions like state invariants or operation pre-
and postconditions. This paper compares three such languages. OCL augments
UML as a precise language that provides constraint and object query
expressions that cannot otherwise be expressed by a diagrammatic notation.
Alloy is a simple but expressive logic based on the notion of relations. FOML
is a logic rule language that supports object modeling, analysis, and
inference. The paper shows typical models in each of the three languages and
discusses similarities of and differences between the
languages.
(16 pages, PDF: 472kb via
HTTP)
- [Bill et al., 2016]
- Robert Bill, Martin
Gogolla, and Manuel Wimmer.
On Leveraging UML/OCL for Model Synchronization.
In Tanja Mayerhofer, Alfonso Pierantonio, Bernhard Schaetz, and Dalila
Tamzalit, editors, Proc. Workshop Models and Evolution (2016),
pages 20-29. CEUR WS Proceedings 1706, 2016.
Modelling complex system often results in different but
overlapping modelling artifacts which evolve independently. Thus,
inconsistencies may arise which lead to unintended effects on the modelled
system. To mitigate this situation, model synchronization is seen as a
recurring and crucial maintenance task which requires to restore consistency
between multiple models using the most suitable changes. Currently, different
languages and tools are used for inter-model consistency management than for
intra-model consistency where UML/ OCL is an accepted solution. Consequently,
the result of synchronizing models solely based on inter-model constraints
might result into inappropriately evolved models w.r.t. intra-model
constraints. In this paper, we present a synchronization model formalized in
UML/OCL which covers explicit consistency and change models including costs
and which considers both, inter-model and intra-model constraints at the same
time. Instances of this synchronization model represent successful
synchronization scenarios. In particular, models can be synchronized, also
taking into account their predecessor versions, by finding a constraint
violation-free extension of a partial model including those instances which
may be optimized for minimal cost. We prototypically implemented this
approach using a model finder to automatically retrieve synchronized models
and the change operations to compute them by completing the partial
model.
(10 pages, PDF: 1463kb via
HTTP)
- [Brucker et al., 2016]
- Achim D.
Brucker, Jordi Cabot, Gwendal Daniel, Martin Gogolla, Adolfo Sanchez-Barbudo
Herrera, Frank Hilken, Frederic Tuong, Edward D. Willink, and Burkhart Wolff.
Recent Developments in OCL and Textual Modelling.
In Achim D. Brucker, Jordi Cabot, and Adolfo Sanchez-Barbudo Herrera, editors,
Proc. Workshop OCL and Textual Modelling (2016), pages
157-165. CEUR WS Proceedings 1756, 2016.
The panel session of the 16th OCL workshop featured a lightning
talk session for discussing recent developments and open questions in the
area of OCL and textual modelling. During this session, the OCL community
discussed, stimulated through short presentations by OCL experts, tool
support, potential future extensions, and suggested initiatives to make the
textual modelling community even more successful. This collaborative paper,
to which each OCL expert contributed one section, summarises the discussions
as well as describes the recent developments and open questions presented in
the lightning talks.
(9 pages, PDF: 816kb via
HTTP)
- [Burgueno et al., 2016]
- Loli Burgueno,
Frank Hilken, Antonio Vallecillo, and Martin Gogolla.
Generating Effective Test Suites for Model Transformations using Classifying
Terms.
In Huseyin Ergin, Richard F. Paige, Eugene Syriani, Steffen Zschaler, and
Moussa Amrani, editors, Proc. Workshop Verification of Model
Transformation (VOLT 2016), pages 48-57. CEUR WS
Proceedings 1693, 2016.
Generating sample models for testing a model transformation is no
easy task. This paper explores the use of classifying terms and stratified
sampling for developing richer test cases for model transformations.
Classifying terms are used to define the equivalence classes that
characterize the relevant subgroups for the test cases. From each equivalence
class of object models, several representative models are chosen depending on
the required sample size. We compare our results with test suites developed
using random sampling, and conclude that by using an ordered and stratified
approach the coverage and effectiveness of the test suite can be
significantly improved.
(10 pages, PDF: 232kb via
HTTP)
- [Doan et al., 2016]
- Khanh-Hoang Doan,
Martin Gogolla, and Frank Hilken.
Towards a Developer-Oriented Process for Verifying Behavioral Properties in
UML and OCL Models.
In Paolo Milazzo, Daniel Varro, and Manuel Wimmer, editors, Proc. STAF
2016 Workshops, Workshop Human-Oriented Formal Methods, pages
207-220. Springer, LNCS 9946, 2016.
Validation and verification of models in the software development
design phase have a great potential for general quality improvement within
software engineering. A system modeled with UML and OCL can be checked
thoroughly before performing further development steps. Verifying not only
static but also dynamic aspects of the model will reduce the cost of software
development. In this paper, we introduce an approach for automatic behavioral
property verification. An initial UML and OCL model will be enriched by frame
conditions and then transformed into a (so-called) filmstrip model in which
behavioral characteristics can be checked. The final step is to verify a
property, which can be added to the filmstrip model in form of an OCL
invariant. In order to make the process developer-friendly, UML diagrams can
be employed for various purposes, in particular for formulating the
verification task and the verification result.
(15 pages, PDF: 513kb via
HTTP)
- [Gogolla and Cabot, 2016]
- Martin Gogolla
and Jordi Cabot.
Continuing a Benchmark for UML and OCL Design and Analysis Tools.
In Paolo Milazzo, Daniel Varro, and Manuel Wimmer, editors, Proc. STAF
2016 Workshops, Workshop Model-Driven Engineering, Logic and
Optimization (MELO 2016), pages 289-302. Springer, LNCS 9946,
2016.
UML and OCL are frequently employed languages in model-based
engineering. OCL is supported by a variety of design and analysis tools
having different scopes, aims and technological corner stones. The spectrum
ranges from treating issues concerning formal proof techniques to testing
approaches, from validation to verification, and from logic programming and
rewriting to SATbased technology. This paper presents steps towards a
well-founded benchmark for assessing UML and OCL validation and verification
techniques. It puts forward a set of UML and OCL models together with
particular questions centered around OCL and the notions consistency,
independence, consequences, and reachability. Furthermore aspects of integer
arithmetic and aggregations functions (in the spirit of SQL functions as
COUNT or SUM) are discussed. The claim of the paper is not to present a
complete benchmark. It is intended to continue the development of further UML
and OCL models and accompanying questions within the modeling community
having the aim to obtain an overall accepted benchmark.
(13 pages, PDF: 323kb via
HTTP)
- [Gogolla and Hilken,
2016]
- Martin Gogolla and Frank Hilken.
Model Validation and Verification Options in a Contemporary UML and OCL
Analysis Tool.
In Andreas Oberweis and Ralf Reussner, editors, Proc.
Modellierung (MODELLIERUNG'2016), pages 203-218. GI, LNI 254,
2016.
Modern systems and their architectures are getting more complex
than ever. Development strategies, like model-driven engineering (MDE), help
to abstract architectures and provide a promising way to deal with the
complexity. Thus, the importance for the underlying models to be correct
arises. Today's validation and verification tools should support the
developer in generating test cases and provide good concepts for fault
detection. In this contribution, we introduce and structure essential use
cases for model exploration, validation and verification that help developers
find faults in model descriptions. Along with the use cases, we demonstrate
the model validator of the USE tool, a modern instance finder for UML and OCL
models based on an implementation of relational logic and present the results
and findings from the tool.
(16 pages, PDF: 329kb via
HTTP)
- [Gogolla and Vallecillo, 2016]
- Martin
Gogolla and Antonio Vallecillo.
Views on UML Interactions as Spreadsheet Queries.
In Paolo Milazzo, Daniel Varro, and Manuel Wimmer, editors, Proc. STAF
2016 Workshops, Workshop Software Engineering Methods in Spreadsheets (SEMS
2016), pages 394-400. Springer, LNCS 9946, 2016.
This contribution demonstrates central options available in the
tool USE (Uml-based Specification Environment) for exploring UML models
within software development. It particularly uses so-called classifying OCL
terms for building validation and verification scenarios. The contribution
demonstrates the tool
(6 pages, PDF: 654kb via
HTTP)
- [Hamann et al., 2016]
- Lars Hamann,
Martin Gogolla, and Nisha Desai.
On the Support of Qualified Associations in OCL.
In Achim D. Brucker, Jordi Cabot, and Adolfo Sanchez-Barbudo Herrera, editors,
Proc. Workshop OCL and Textual Modelling (2016), pages
3-15. CEUR WS Proceedings 1756, 2016.
Associations are the glue that keeps items in object-oriented
systems together. In UML qualified associations are used to express
additional information about access to connected objects. From an
implementation point of view, qualified associations can be used to define
access to multi-dimensional data structures like arrays. From a conceptual
point of view, they can be looked at as being ternary associations with
particular OCL constraints expressing the multiplicities. Qualified
associations are only partly described in the OCL standard, for example, it
is not clear how to access all qualifier values for a qualified object. This
paper takes up such questions and makes proposals for the support of
qualified associations in the context of OCL.
(14 pages, PDF: 885kb via
HTTP)
- [Hilken and Gogolla, 2016a]
- Frank Hilken
and Martin Gogolla.
User Assistance Characteristics of the USE Model Checking Tool.
In Catherine Dubois, Paolo Masci, and Dominique Mery, editors, Proc.
Workshop Formal Integrated Development Environments (FIDE 2016),
pages 91-97. EPTCS 240, 2016.
The Unified Modeling Language (UML) is a widely used general
purpose modeling language. Together with the Object Constraint Language
(OCL), formal models can be described by defining the structure and behavior
with UML and additional OCL constraints. In the development process for
formal models, it is important to make sure that these models are
(a) correct, i.e. consistent and complete, and (b) testable in the sense that
the developer is able to interactively check model properties. The USE tool
(UML-based Specification Environment) allows both characteristics to be
studied. We demonstrate how the tool supports modelers to analyze, validate
and verify UML and OCL models via the use of several graphical means that
assist the modeler in interpreting and visualizing formal model descriptions.
In particular, we discuss how the so-called USE model validator plugin is
integrated into the USE environment in order to allow non domain experts to
use it and construct object models that help to verify properties like model
consistency.
(15 pages, PDF: 665kb via
HTTP)
- [Hilken and Gogolla, 2016b]
- Frank Hilken
and Martin Gogolla.
Verifying Linear Temporal Logic Properties in UML/OCL Class Diagrams Using
Filmstripping.
In Paris Kitsos, editor, Proc. Digital System Design (DSD'2016),
pages 708-713. IEEE, 2016.
Testing system behavior in real world applications often requires
analyzing properties over multiple system states to ensure that operations do
not interfere with each other in ways that are not desired. In UML class
diagrams, behavior is specified using operations with pre- and
postconditions, which alone are not sufficient to formulate temporal
properties spanning multiple system states and, thus, require additional
description means. For this purpose, multiple extensions of OCL with linear
temporal logic (LTL) exist, which provide a formalism to describe temporal
properties. Using so-called filmstrip models, this paper provides formal
semantics for OCL enhanced by LTL through a translation into standard OCL on
the basis of class diagrams and enables verifying these temporal properties
using existing model checking tools.
(8 pages, PDF: 218kb via
HTTP)
- [Hilken et al., 2016a]
- Frank
Hilken, Philipp Niemann, Martin Gogolla, and Robert Wille.
Towards a Catalog of Structural and Behavioral Verification Tasks for UML/OCL
Models.
In Andreas Oberweis and Ralf Reussner, editors, Proc.
Modellierung (MODELLIERUNG'2016), pages 115-122. GI, LNI 254,
2016.
Verification tasks for UML and OCL models can be classified into
structural and behavioral tasks. For both task categories a variety of partly
automatic solving approaches exist. But up to now, different interpretations
of central notions as, for example, `consistency' or `reachability' can be
found in current approaches and tools. This paper is designed to clarify
central verification notions and to establish a collection of typical
verification tasks that are common to multiple approaches and tools. In
addition, the verification tasks are categorized with the aim of creating a
central catalog of tasks, providing a common understanding of the terms used
in model verifications.
(8 pages, PDF: 225kb via
HTTP)
- [Hilken et al., 2016b]
- Frank Hilken,
Marcel Schuster, Karsten Sohr, and Martin Gogolla.
Integrating UML/OCL Derived Properties into Validation and Verification
Processes.
In Achim D. Brucker, Jordi Cabot, and Adolfo Sanchez-Barbudo Herrera, editors,
Proc. Workshop OCL and Textual Modelling (2016), pages
89-104. CEUR WS Proceedings 1756, 2016.
UML and OCL are rich languages offering a multitude of modeling
elements. They provide modelers with simple and effective tools to express
and visualize models, but their complex semantics are a great challenge for
validation and verification processes, which are often limited by their
underlying logic. On the basis of a network topology example model,
describing lower physical and logical network levels, we demonstrate
applications of derived attributes and associations that help checking
network security aspects. This includes finding inconsistencies in an
existing network, directing to potential configuration errors and property
evaluation, e.g. reachability between components within the network. In
addition, a transformation of derived properties into relational logic is
presented to enable the use of a modern instance finder for further
verification tasks and generation of valid networks
configurations.
(16 pages, PDF: 524kb via
HTTP)
- [Niemann et al., 2016]
- Philipp Niemann,
Frank Hilken, Martin Gogolla, and Robert Wille.
Extracting Frame Conditions from Operation Contracts.
In Jens Knoop and Uwe Zdun, editors, Proc. Fachtagung Software
Engineering (SE 2016), pages 89-90. LNI 252, 2016.
In behavioral modeling, operation contracts defined by pre- and
postconditions describe the effects on model properties (i.e., model elements
such as attributes, links, etc.) that are enforced by an operation. However,
it is usually omitted which model properties should not be modified. Defining
so-called frame conditions can fill this gap. But, thus far, these have to be
defined manually - a time-consuming task. In this work, we propose a
methodology which aims to support the modeler in the definition of the frame
conditions by extracting suggestions based on an automatic analysis of
operation contracts provided in OCL. More precisely, the proposed approach
performs a structural analysis of pre- and postconditions together with
invariants in order to categorize which class and object properties are
clearly `variable' or `unaffected' - and which are `ambiguous', i.e. indeed
require a more thorough inspection. The developed concepts are implemented as
a prototype and evaluated by means of several example models known from the
literature.
(2 pages, PDF: 40kb via
HTTP)
- [Przigoda et al., 2016]
- Nils
Przigoda, Frank Hilken, Judith Peters, Robert Wille, Martin Gogolla, and Rolf
Drechsler.
Integrating an SMT-Based ModelFinder into USE.
In Michalis Famelis, Daniel Ratiu, and Gehan M. K. Selim, editors, Proc.
Workshop Model-Driven Engineering, Verification and Validation (MoDeVVa
2016), pages 40-45. CEUR WS Proceedings 1713, 2016.
The validation and verification of models becomes increasingly
important as the complexity and overall costs of later development stages
increase. Although, a variety of tools exists for this purpose, the majority
are academic - used as a proof of concept for the theory behind them. Thus,
implementations are mostly applicable to subsets of model verification tasks
only. In order to execute all necessary verification tasks, the model under
verification has to be manually prepared for each tool - usually involving
several modeling languages and techniques. The manual work requires expert
knowledge and is a source for errors. Simplifying this process is a desired
aspect and poses new challenges to tool developers. We demonstrate how a
common framework can be used to provide access to multiple model checking
techniques by integrating an SMT-based ModelFinder including a high level
interface to its functionality. Afterwards, the benefits are discussed
comparing the new technique with the existing tool coverage in the
framework.
(6 pages, PDF: 157kb via
HTTP)
- [Sedlmeier and Gogolla,
2016]
- Matthias Sedlmeier and Martin Gogolla.
Towards Flexible Model Analysis and Constraint Development: A Small Demo Based
on Large Real-Life Data.
In Dimitris Kolovos, Davide di Ruscio, Nicholas Matragkas, Jesus Sanchez
Cuadrado, Istvan Rath, and Massimo Tisi, editors, Proc. Workshop
Scalable Model Driven Engineering (BigMDE 2016), pages 1-10. CEUR
Proceedings 1652, 2016.
This contribution discusses the handling of a larger model on an
abstract level employing the standardized modeling languages UML and OCL and
an accompanying tool. We represent real-world data in form of a large object
model and perform data analysis, verification, and validation tasks on the
modeling level in order to obtain feedback about the original data. The tool
allows to explore larger object diagrams interactively in a flexible way
through a combination of visual and textual techniques. Furthermore, model
invariants can be created in a versatile fashion by iteratively considering
relevant object diagram fractions and evolving OCL
expressions.
(10 pages, PDF: 509kb via
HTTP)
- [Chechik et al., 2015]
- Marsha Chechik,
Geri Georg, Martin Gogolla, Jean-Marc Jezequel, Bernhard Rumpe, and Martin
Schindler.
In Memory of Robert B. France, Co-Founder and Editor-in-Chief of SoSyM from
1999 to 2015.
Journal on Software and Systems Modeling, Springer, DE,
14(2):525-532, 2015.
The SoSyM team has been devastated to learn about the passing of
Prof. Robert B. France, on the evening of Sunday, February 15th, 2015. His
passing was painless, after a battle against cancer. He was 54 years
old.
(8 pages, PDF: 1058kb via
HTTP)
- [Gogolla, 2015a]
- Martin Gogolla.
An Approach to Employ Modeling in a Traditional Computer Science Curriculum
or: Why Posing Essentials of the Object Constraint Language without Objects
and Constraints?
In Tony Clark and Arnon Sturm, editors, Proc. 11th MODELS Educators'
Symposium (EduSymp 2015), pages 6-16, http://ceur-ws.org/,
2015. CEUR Proceedings, Vol. 1555.
This paper has two purposes: first, it discusses one approach that
shows how modeling and in particular information systems modeling techniques
are employed within a traditional computer science curriculum, and second, it
explains and recapitulates essential concepts of a contemporary modeling
language in a conventional style without stressing modern concepts. In the
second part the paper focuses on the Object Constraint Language (OCL) without
using objects and constraints. We use this as an example to explain how to
summarize taught concepts in a good way. Experience on teaching modeling is
constantly gained in three lectures on a basic, advanced, and specialized
level, and roughly speaking, the three lectures introduce and concentrate on
(1) syntax, (2) semantics, and (3) metamodeling of modeling
techniques.
(6 pages, PDF: 196kb via
HTTP)
- [Gogolla, 2015b]
- Martin Gogolla.
Experimenting with Multi-Level Models in a Two-Level Modeling Tool.
In Colin Atkinson, Georg Grossmann, Thomas Kühne, and Juan de Lara,
editors, Proc. 2nd Int. Workshop on Multi-Level
Modelling (MULTI'2015), pages 3-11,
http://ceur-ws.org/Vol-1505/, 2015. CEUR Proceedings, Vol. 1505.
This paper discusses two ways to establish the connection between
two levels in a multi-level model. The first approach uses normal
associations and generalizations under the assumption that the multi levels
are represented in one UML and OCL model. The second approach views a middle
level model both as a type model and as an instance model and
introducetogether with a simple syntax model and a model for capturing finite
fractions of the statechart semans operations to navigate between the type
and instance level. The paper reports on some experiments that have been
carried out.
(9 pages, PDF: 273kb via
HTTP)
- [Gogolla and Hilken, 2015]
- Martin
Gogolla and Frank Hilken.
UML and OCL Transformation Model Analysis: Checking Invariant Independence.
In Moussa Amrani, Eugene Syriani, and Manuel Wimmer, editors, Proc. 4th
Int. Workshop on Verification of Model Transformation (VOLT'2015),
pages 20-27, http://ceur-ws.org/, 2015. CEUR Proceedings, Vol. 1530.
This paper proposes to analyze UML and OCL models using an
approach on the basis of a solver for relational logic. In the approach, UML
and OCL models describe system structures formally with UML class diagrams
and OCL class invariants, and system behavior is determined by UML state
charts and OCL pre- and postconditions for operations and transitions. Test
cases in form of object diagrams are constructed and employed for property
inspection. With the approach one can prove model properties like model
constraint independence for the structural model part. Thus crucial model
properties can be analyzed on the modeling level without the need for
implementing the model. All feedback given to the developer is stated in
terms of the used modeling language, UML and OCL.
(8 pages, PDF: 290kb via
HTTP)
- [Gogolla et al., 2015a]
- Martin Gogolla,
Lars Hamann, Frank Hilken, and Matthias Sedlmeier.
Checking UML and OCL Model Consistency: An Experience Report on a Middle-Sized
Case Study.
In Jasmin Blanchette and Nikolai Kosmatov, editors, Proc. 9th Int. Conf.
Tests and Proofs (TAP 2015), pages 129-136. Springer, LNCS 9154,
2015.
LNCS paper (8 pages) and addendum (28 pages).
This contribution reports on a middle-sized case study in which
the consistency of a UML and OCL class model is checked. The class model
restrictions are expressed by UML multiplicity constraints and explicit,
non-trivial OCL invariants. Our approach automatically constructs a valid
system state that shows that the model can be instantiated and thus proves
consistency, i.e., shows that the invariants together with the multiplicity
constraints are not contradictory.
(36 pages, PDF: 241kb via
HTTP)
- [Gogolla et al., 2015b]
- Martin Gogolla,
Lars Hamann, Frank Hilken, and Matthias Sedlmeier.
Modeling Behavior with Interaction Diagrams in a UML and OCL Tool.
In Ella Roubtsova, Ashley McNeile, Ekkart Kindler, and Christian Gerth,
editors, Behavior Modeling: Foundations and Applications, Int.
Workshops BM-FA 2009-2014, pages 31-58. Springer, LNCS 6368,
2015.
This paper discusses system modeling with UML behavior diagrams.
We consider statecharts and both kinds of interaction diagrams, i.e.,
sequence and communication diagrams. We present new implementation features
in a UML and OCL modeling tool: (1) Sequence diagram lifelines are extended
with states from statecharts, and (2) communication diagrams are introduced
as an alternative to sequence diagrams. We assess the introduced features and
propose selection mechanisms which should be available in both kinds of
interaction diagrams. We emphasize the role that OCL can play for such
selection mechanisms.
(28 pages, PDF: 407kb via
HTTP)
- [Gogolla et al., 2015c]
- Martin
Gogolla, Antonio Vallecillo, Loli Burgueno, and Frank Hilken.
Employing Classifying Terms for Testing Model Transformations.
In Jordi Cabot and Alexander Egyed, editors, Proc. 18th Int. Conf. Model
Driven Engineering Languages and Systems (MoDELS'2015), pages
312-321. ACM, 2015.
This contribution proposes a new technique for developing test
cases for UML and OCL models. The technique is based on an approach that
automatically constructs object models for class models enriched by OCL
constraints. By guiding the construction process through so-called
classifying terms, the built test cases in form of object models are
classified into equivalence classes. A classifying term can be an arbitrary
OCL term on the class model that calculates for an object model a
characteristic value. From each equivalence class of object models with
identical characteristic values one representative is chosen. The constructed
test cases behave significantly different with regard to the selected
classifying term. By building few diverse object models, properties of the
UML and OCL model can be explored effectively. The technique is applied for
automatically constructing relevant source model test cases for model
transformations between a source and target metamodel.
(10 pages, PDF: 937kb via
HTTP)
- [Hamann and Gogolla, 2015]
- Lars Hamann
and Martin Gogolla.
Endogene Metamodellierung der Semantik von neueren UML2 Sprachmitteln.
In Uwe Aßmann, Birgit Demuth, Thorsten Spitta, Georg Püschel, and Ronny
Kaiser, editors, Proc. Software Engineering (2015), pages
31-32. GI, LNI 239, 2015.
Seit dem Aufkommen der Unified Modeling Language (UML) wurden
unterschiedliche Ansätze vorgestellt diese formal zu spezifizieren. Eine
wohldefinierte formale Semantik der UML führt unter anderem zu einer
höheren Interoperabilität zwischen verschiedenen
Modellierungswerkzeugen, da Intepretationsspielräume verringert werden.
Die hier zusammengefasste Arbeit beschreibt einen endogenen Ansatz zur
Metamodellierung der Semantik von zentralen UML Elementen.
(2 pages, PDF: 62kb via
HTTP)
- [Hamann et al., 2015]
- Lars Hamann,
Martin Gogolla, and Karsten Sohr.
Monitoring Database Access Constraints with an RBAC Metamodel: A Feasibility
Study.
In Frank Piessens, Juan Caballero, and Nataliia Bielova, editors, Proc.
7th Int. Conf. Engineering Secure Software and Systems (ESSOS 2015),
pages 211-226. Springer, LNCS 8978, 2015.
Role-based access control (RBAC) is widely used in organizations
for access management. While basic RBAC concepts are present in modern
systems, such as operating systems or database management systems, more
advanced concepts like history-based separation of duty are not. In this
work, we present an approach that validates advanced organizational RBAC
policies using a model-based approach against the technical realization
applied within a database. This allows a security officer to examine the
correct implementation possibly across multiple applications of more powerful
policies on the database level. We achieve this by monitoring the current
state of a database in a UML/OCL validation tool. We assess the applicability
of the approach by a non-trivial feasibility study.
(16 pages, PDF: 427kb via
HTTP)
- [Hilken et al., 2015a]
- Frank Hilken, Loli
Burgueno, Martin Gogolla, and Antonio Vallecillo.
Iterative Development of Transformation Models by Using Classifying Terms.
In Juergen Dingel, Sahar Kokaly, Levi Lecio, Rick Salay, and Hans Vangheluwe,
editors, Proc. Int. Workshop on Analysis of Model
Transformations (AMT'2015), pages 1-6,
http://ceur-ws.org/Vol-1500/, 2015. CEUR Proceedings, Vol. 1500.
In this paper we propose an iterative process for the correct
specification of model transformations, i.e., for developing correct
transformation models. This permits checking the correctness of a model
transformation specification before any implementation is available. The
proposal is based on the use of classifying terms for partitioning the input
space and for simplifying the testing process.
(6 pages, PDF: 172kb via
HTTP)
- [Hilken et al., 2015b]
- Frank Hilken,
Philipp Niemann, Martin Gogolla, and Robert Wille.
From UML/OCL to Base Models: Transformation Concepts for Generic Validation
and Verification.
In Dimitris Kolovos and Manuel Wimmer, editors, Proc. 8th Int. Conf.
Model Transformation (ICMT 2015), pages 1-17. Springer,
LNCS 9152, 2015.
Modeling languages such as UML and OCL find more and more
application in the early stages of today's system design. Validation and
verification, i.e. checking the correctness of the respective models, gains
interest. Since these languages offer various description means and a huge
set of constructs, existing approaches for this purpose only support a
restricted subset of constructs and often focus on dedicated description
means as well as verification tasks. To overcome this, we follow the idea of
using model transformations to unify different description means to a base
model. In the course of these transformation, complex language constructs are
expressed by means of a small subset of so-called core elements in order to
interface with a wide range of verification engines with complementary
strengths and weaknesses. In this paper, we provide a detailed introduction
of the proposed base model and its core elements as well as corresponding
model transformations.
(16 pages, PDF: 505kb via
HTTP)
- [Niemann et al., 2015a]
- Philipp Niemann,
Frank Hilken, Martin Gogolla, and Robert Wille.
Assisted Generation of Frame Conditions for Formal Models.
In Wolfgang Nebel and David Atienza, editors, Proc. Design, Automation
and Test in Europe (DATE'2015), pages 309-312. ACM, 2015.
Modeling languages such as UML or SysML allow for the validation
and verification of the structure and the behavior of designs even in the
absence of a specific implementation. However, formal models inherit a severe
drawback: Most of them hardly provide a comprehensive and determinate
description of transitions from one system state to another. This problem can
be addressed by additionally specifying so-called frame conditions. However,
only naive workarounds based on trivial heuristics or completely relying on a
manual creation have been proposed for their generation thus far. In this
work, we aim for a solution which neither leaves the burden of generating
frame conditions entirely on the designer (avoiding the introduction of
another time-consuming and expensive design step) nor is completely automatic
(which, due to ambiguities, is not possible anyway). For this purpose, a
systematic design methodology for the assisted generation of frame conditions
is proposed.
(4 pages, PDF: 138kb via
HTTP)
- [Niemann et al., 2015b]
- Philipp
Niemann, Frank Hilken, Martin Gogolla, and Robert Wille.
Extracting Frame Conditions from Operation Contracts.
In Jordi Cabot and Alexander Egyed, editors, Proc. 18th Int. Conf. Model
Driven Engineering Languages and Systems (MoDELS'2015), pages
266-275. ACM, 2015.
In behavioral modeling, operation contracts defined by pre- and
postconditions describe the effects on model properties (i.e., model elements
such as attributes, links, etc.) that are enforced by an operation. However,
it is usually omitted which model properties should not be modified. Defining
so-called frame conditions can fill this gap. But, thus far, these have to be
defined manually - a time-consuming task. In this work, we propose a
methodology which aims to support the modeler in the definition of the frame
conditions by extracting suggestions based on an automatic analysis of
operation contracts provided in OCL. More precisely, the proposed approach
performs a structural analysis of pre- and postconditions together with
invariants in order to categorize which class and object properties are
clearly `variable' or `unaffected' - and which are `ambiguous', i.e. indeed
require a more thorough inspection. The developed concepts are implemented as
a prototype and evaluated by means of several example models known from the
literature.
(10 pages, PDF: 277kb via
HTTP)
- [Sedlmeier and Gogolla, 2015]
- Matthias
Sedlmeier and Martin Gogolla.
Model Driven ActiveRecord with yEd.
In Tatjana Welzer, Hannu Jaakkola, Bernhard Thalheim, Yasushi Kiyoki, and
Naofumi Yoshida, editors, Proc. Int. 25th Int. Conf. Information
Modelling and Knowledge Bases (EJC'2015), pages 65-76. IOS Press,
Amsterdam, 2015.
Since its release in 2004, Ruby on Rails has evolved into a widely
used full stack model-view-controller (MVC) framework. But despite the fact,
that Rails (short for Ruby on Rails) is also used for developing
enterprise-scale applications like Github or scientific tools like QTREDS,
there is no official support for graphical modelling. This paper introduces a
proposal to fill this gap by suggesting a model driven approach using the
free yEd diagram editor as well as a specifically developed transformation
tool and ER dialect. The implementation is based on the Rails data
abstraction layer ActiveRecord and its provided domain specific
languages.
(36 pages, PDF: 565kb via
HTTP)
- [Amrani et al., 2014]
- Moussa Amrani,
Eugene Syriani, Manuel Wimmer, Robert Bill, Martin Gogolla, Frank Hermann,
and Kevin Lano.
Report on the Third Workshop on Verification of Model Transformations.
In Moussa Amrani, Eugene Syriani, and Manuel Wimmer, editors, Proc. 3rd
Int. Workshop on Verification of Model Transformation (VOLT'2014),
pages 1-9, http://ceur-ws.org/, 2014. CEUR Proceedings, Vol. 1325.
This report is a summary of the Third International Workshop on
the Verification Of modeL Transformation (VOLT 2014) held at the STAF 2014
conference. The workshop brought together researchers from model-driven
engineering, in particular from model transformation language engineering and
modelbased verification. The major aims of VOLT 2014 were to identify
motivations, problems, and requirements for model transformation verification
as well as to present different proposals supporting different kinds of model
transformations and verification techniques.
(7 pages, PDF: 142kb via
HTTP)
- [Brucker et al., 2014a]
- Achim D.
Brucker, Tony Clark, Carolina Dania, Geri Georg, Martin Gogolla,
Frédéric Jouault, Ernest Teniente, and Burkhart Wolff.
Panel Discussion: Proposals for Improving OCL.
In Achim D. Brucker, Carolina Dania, Geri Georg, and Martin Gogolla, editors,
Proc. Int. Workshop on OCL (OCLWS'2014), pages 83-99,
http://ceur-ws.org/Vol-1285/, 2014. CEUR Proceedings, Vol. 1285.
During the panel session at the OCL workshop, the OCL community
discussed, stimulated by short presentations by OCL experts, potential future
extensions and improvements of the OCL. As such, this panel discussion
continued the discussion that started at the OCL meeting in Aachen in 2013
and on which we reported in the proceedings of the last year's OCL workshop.
This collaborative paper, to which each OCL expert contributed one section,
summarises the panel discussion as well as describes the suggestions for
further improvements in more detail.
(17 pages, PDF: 380kb via
HTTP)
- [Brucker et al., 2014b]
- Achim D.
Brucker, Carolina Dania, Geri Georg, and Martin Gogolla, editors.
Proc. MODELS'2014 OCL Workshop, http://ceur-ws.org/Vol-1285/,
2014. CEUR Workshop Proceedings, Vol. 1285.
Satellite Events at the MODELS'2014 Conference.
The proceedings contain the accepted contributions for the OCL
Workshop at the MODELS'2014 conference.
- [Büttner and Gogolla,
2014]
- Fabian Büttner and Martin Gogolla.
On OCL-Based Imperative Languages.
Journal on Science of Computer Programming, Elsevier, NL,
92:162-178, 2014.
The Object Constraint Language (OCL) is a well-accepted ingredient
in model-driven engineering and accompanying modeling languages such as UML
(Unified Modeling Language) and EMF (Eclipse Modeling Framework) that support
object-oriented software development. Among various possibilities, OCL offers
the formulation of class invariants and operation contracts in form of pre-
and postconditions, and side-effect free query operations. Much research has
been done on OCL and various mature implementations are available for it. OCL
is also used as the foundation for several modeling-specific programming and
transformation languages. However, an intrusive way of embedding OCL into
these language hampers us when we want to benefit from the existing
achievements for OCL. In response to this shortcoming, we propose the
language SOIL (Simple OCL-like Imperative Language), which we implemented in
the UML and OCL modeling tool USE to amend its declarative model validation
features. The expression sub-language of SOIL is identical to OCL. SOIL adds
imperative constructs for programming in the domain of models. Thus by
employing OCL and SOIL, it is possible to describe any operation in a
declarative way and in an operational way on the modeling level without going
into the details of a conventional programming language. In contrast to other
similar approaches, the embedding of OCL into SOIL is done in a careful,
non-intrusive way so that purity of OCL is preserved.
(22 pages, PDF: 451kb via
HTTP)
- [Büttner et al., 2014]
- Fabian
Büttner, Ullrich Bartels, Lars Hamann, Oliver Hofrichter, Mirco Kuhlmann,
Martin Gogolla, Lutz Rabe, Frank Steimke, Yorck Rabenstein, and Alina
Stosiek.
Model-Driven Standardization of Public Authority Data Interchange.
Journal on Science of Computer Programming, Elsevier, NL,
89:162-175, 2014.
In the past decade, several electronic data exchange processes
between public authorities have been established by the German public
administration. In the context of various locally operating systems and
numerous suppliers of software for public authorities, it is crucial that
these interfaces are open and precisely and uniformly defined, in order to
foster free competition and interoperability. A community of such projects
and specifications for various public administration domains has arisen from
an early adopter project in the domain of data interchange between the 5,400
German municipal citizen registers. A central coordination office provides a
framework for these projects that is put into operation by a unified
model-driven method, supported by tools and components, involving UML
profiles, model validation, and model-to-text transformations into several
technical domains. We report how this model-driven approach has already
proven to be effective in a number of projects, and how it could contribute
to the development of standardized e-government specifications in various
ways.
(17 pages, PDF: 381kb via
HTTP)
- [Cheng et al., 2014]
- Betty H.C. Cheng,
Kerstin I. Eder, Martin Gogolla, Lars Grunske, Marin Litoiu, Hausi A.
Müller, Patrizio Pelliccione, Anna Perini, Nauman A. Qureshi, Bernhard
Rumpe, Daniel Schneider, Frank Trollmann, and Norha M. Villegas.
Using Models at Runtime to Address Assurance for Self-Adaptive Systems.
In Nelly Bencomo, Robert B. France, Betty H. C. Cheng, and Uwe Aßmann,
editors, Models@run.time - Foundations, Applications, and
Roadmaps, pages 101-136. Springer, Berlin, LNCS 8378, 2014.
Self-adaptive software systems modify their behaviour at runtime
in response to changes in the system or its environment. The fulfilment of
the system requirements and reachability of the system goals needs to be
guaranteed even in the presence of adaptations. Thus, a key challenge for
self-adaptive software systems is assurance. Traditionally, confidence in the
correctness of a system is gained during system development. Evidence to
support assurance is collected based on a variety of activities and processes
performed at development time. In the presence of self-adaptation, however,
some of the assurance tasks need to be performed at runtime. This calls for
continuous assurance throughout the software life cycle. One of the most
promising avenues of research in this area is to use models at runtime as a
foundation for developing runtime assurance techniques. This chapter focuses
on investigating the use of models at runtime for assurance of self-adaptive
software systems. It defines what we understand by a model at runtime,
specifically for the purpose of assurance, and puts this definition into the
context of existing work. We then outline selected research challenges. The
chapter concludes with an exploration of selected application areas where
models at runtime could contribute a considerable value proposition compared
to existing techniques.
(36 pages, PDF: 750kb via
HTTP)
- [Gogolla et al., 2014a]
- Martin Gogolla,
Lars Hamann, and Frank Hilken.
Checking Transformation Model Properties with a UML and OCL Model Validator.
In Moussa Amrani, Eugene Syriani, and Manuel Wimmer, editors, Proc. 3rd
Int. Workshop on Verification of Model Transformation (VOLT'2014),
pages 16-25, http://ceur-ws.org/, 2014. CEUR Proceedings, Vol. 1325.
This paper studies model transformations in the form of
transformation models connecting source and target metamodels. We propose to
analyse transformation models with a UML and OCL tool on the basis of an
implementation of relational logic on top of Kodkod. Within this approach it
is feasible to check for transformation model consistency in different
flavors. Certain properties implied by the transformation model, e.g. whether
a particular property is preserved by the transformation, can be inspected as
well.
(25 pages, PDF: 362kb via
HTTP)
- [Gogolla et al., 2014b]
- Martin Gogolla,
Lars Hamann, and Frank Hilken.
On Static and Dynamic Analysis of UML and OCL Transformation Models.
In Jürgen Dingel, Juan de Lara, Levi Lucio, and Hans Vangheluwe, editors,
Proc. Int. Workshop on Analysis of Model
Transformations (AMT'2014), pages 24-33,
http://ceur-ws.org/Vol-1277/, 2014. CEUR Proceedings, Vol. 1277.
This contribution discusses model transformations in the form of
transformation models that connect a source and a target metamodel. The
transformation model is statically analyzed within a UML and OCL tool by
giving each constraint an individual representation in the underlying class
diagram by highlighting the employed model elements. We also discuss how to
analyze transformation models dynamically on the basis of a model validator
translating UML and OCL into relational logic. One can specify, for example,
the transformation source and let the tool compute automatically the
transformation target on the basis of the transformation model without the
need for implementing the transformation. Properties like injectivity of the
transformation can be checked through the construction of example
transformation pairs. The paper uses the well-known transformation between
Entity-Relationship schemata and relational database schemata for
illustrating the underlying ideas.
(10 pages, PDF: 243kb via
HTTP)
- [Gogolla et al., 2014c]
- Martin
Gogolla, Lars Hamann, Frank Hilken, Mirco Kuhlmann, and Robert B. France.
From Application Models to Filmstrip Models: An Approach to Automatic
Validation of Model Dynamics.
In Hans-Georg Fill, Dimitris Karagiannis, and Ulrich Reimer, editors,
Proc. Modellierung (MODELLIERUNG'2014), pages 273-288. GI,
LNI 225, 2014.
Efficient model validation and verification techniques are strong
in the analysis of systems describing static structures, for example, UML
class diagrams and OCL invariants. However, general UML and OCL models can
involve dynamic aspects in form of OCL pre- and postconditions for
operations. This paper describes the automatic transformation of a UML and
OCL model with invariants and pre- and postconditions into an equivalent
model with only invariants. We call the first model (with pre- and
postconditions) the application model and the second model (with invariants
only) the filmstrip model, because a sequence of system states in the
application model becomes a single system state in the filmstrip model. This
single system state can be thought of as being a filmstrip presenting
snapshots from the application model with different logical time stamps. Pre-
and postconditions from the application model become invariants in the
filmstrip model. Providing a proper context, the text of the pre- and
postconditions can be used in the filmstrip model nearly unchanged. The
filmstrip model can be employed for automatically constructing dynamic test
scenarios and for checking temporal properties.
(16 pages, PDF: 393kb via
HTTP)
- [Gogolla et al., 2014d]
- Martin Gogolla,
Lars Hamann, Frank Hilken, Matthias Sedlmeier, and Quang Dung Nguyen.
Behavior Modeling with Interaction Diagrams in a UML and OCL Tool.
In Ella Roubtsova, Christian Gerth, Ekkart Kindler, and Ashley McNeile,
editors, Proc. 6th Workshop Behaviour Modelling - Foundations and
Applications (BMFA'2014). ACM Digital Library, Vol. 2630768,
2014.
This contribution discusses system modeling with UML behavior
diagrams. We consider statecharts and both kinds of interaction diagrams,
i.e., sequence and communication diagrams. We present new implementation
features in a UML and OCL modeling tool: (1) Sequence diagram lifelines are
extended with states from statecharts, and (2) communication diagrams are
introduced as an alternative to sequence diagrams. We assess the introduced
features and propose a systematic set of features which should be available
in both kinds of interaction diagrams. We emphasize the role that OCL can
play for such a feature set.
(12 pages, PDF: 284kb via
HTTP)
- [Gogolla et al., 2014e]
- Martin Gogolla,
Matthias Sedlmeier, Lars Hamann, and Frank Hilken.
On Metamodel Superstructures Employing UML Generalization Features.
In Colin Atkinson, Georg Grossmann, Thomas Kühne, and Juan de Lara,
editors, Proc. Int. Workshop on Multi-Level
Modelling (MULTI'2014), pages 13-22,
http://ceur-ws.org/Vol-1286/, 2014. CEUR Proceedings, Vol. 1286.
We employ UML generalization features in order to describe
multi-level metamodels and their connections. The basic idea is to represent
several metamodel levels in one UML and OCL model and to connect the
metamodels with (what we call) a superstructure. The advantage of having
various levels in one model lies in the uniform handling of all levels and in
the availability of OCL for constraining models and navigating between them.
We establish the connection between the metamodel levels by typing links that
represent the instance-of relationship. These typing links are derived from
associations that are defined on an abstraction of the metamodel classes and
that are restricted by redefines and union constraints in order to achieve
level-conformant typing. The abstraction of the metamodel classes together
with the connecting associations and generalizations constitutes the
superstructure.
(10 pages, PDF: 312kb via
HTTP)
- [Hamann et al., 2014a]
- Lars Hamann,
Martin Gogolla, and Oliver Hofrichter.
Zur Integration von Struktur- und Verhaltensmodellierung mit OCL.
In Wilhelm Hasselbring and Nils Christian Ehmke, editors, Proc. Software
Engineering (2014), pages 75-76. GI, LNI 227, 2014.
Dieser Beitrag beschreibt ein werkzeuggestütztes Vorgehen zum
Validieren von in der Unified Modeling Language (UML) spezifizierten
Modellen. Herkömmliche Werkzeuge in diesem Kontext verwenden
UML-Klassendiagramme in Verbindung mit textuellen Einschränkungen, die in
der Object Constraint Language (OCL) definiert sind. Eher unbeachtet sind
weitergehende Modellierungselemente wie zum Beispiel Zustandsautomaten, die
zwar von der UML bereitgestellt werden, aber in OCL-basierten
Validierungswerkzeugen bisher kaum Einzug gefunden haben. Der vorliegende
Beitrag zeigt, basierend auf einem etablierten UML/OCL-Werkzeug, das
international in der Praxis sowie zu Forschungsprojekten und in der Lehre
eingesetzt wird, wie die in der UML vorhandenen Protokolzustandsautomaten
(Protocol State Machines; PSMs) die Modellierungsmöglichkeiten
erweitern.
(2 pages, PDF: 57kb via
HTTP)
- [Hamann et al., 2014b]
- Lars Hamann,
Frank Hilken, and Martin Gogolla.
Collected Experience and Thoughts on Long Term Development of an Open Source
MDE Tool.
In Francis Bordelau, Jürgen Dingel, Sebastien Gerard, and Sebastian Voss,
editors, Proc. Int. Workshop on Open Source Software for Model Driven
Engineering (OSS4MDE'2014), pages 42-52,
http://ceur-ws.org/Vol-1290/, 2014. CEUR Proceedings, Vol. 1290.
During 14 years of developing an open source model driven
engineering tool at a university we collected some dos and don'ts for such
projects, which we are going to describe in this paper. For example, the
mentoring of students and afterwards the integration of their results need
special treatments, to be able to keep a product of high quality. Beside such
quality related issues, we also report on our experience with industrial
cooperations. To get an idea about the amount of work that has been put into
our tool, we review and visualize its history.
(10 pages, PDF: 1720kb via
HTTP)
- [Hilken et al., 2014a]
- Frank Hilken, Lars
Hamann, and Martin Gogolla.
Transformation of UML and OCL Models into Filmstrip Models.
In Davide Di Ruscio and Dániel Varró, editors, Proc. 7th
Int. Conf. Model Transformation (ICMT 2014), pages 170-185.
Springer, LNCS 8568, 2014.
This contribution presents an automatic transformation from UML
and OCL models into enriched UML and OCL models, so-called filmstrip models,
that embody more information when employing OCL while maintaining the same
functionality as the original model. The approach uses a combination of
object and sequence diagrams that allows for a wide range of possible OCL
constraints about sequences of operation calls and their temporal properties.
The modeler does not need to account for such properties while creating the
original model. Errors found by constraints for the filmstrip model can
easily be related back to the original model, as the elements of the
filmstrip model are synchronized with the original model and the backwards
calculation is generally simple. The approach is implemented in a UML and OCL
modeling tool.
(16 pages, PDF: 438kb via
HTTP)
- [Hilken et al., 2014b]
- Frank Hilken,
Philipp Niemann, Martin Gogolla, and Robert Wille.
Filmstripping and Unrolling: A Comparison of Verification Approaches for UML
and OCL Behavioral Models.
In Martina Seidl and Nikolai Tillmann, editors, Proc. 8th Int. Conf.
Tests and Proofs (TAP 2014), pages 99-116. Springer, LNCS 8570,
2014.
Guaranteeing the essential properties of a system early in the
design process is an important as well as challenging task. Modeling
languages such as the UML allow for a formal description of structure and
behavior by employing OCL class invariants and operation pre- and
postconditions. This enables the verification of a system specification prior
to implementation. For this purpose, first approaches have recently been put
forward. In particular solutions relying on the deductive power of constraint
solvers are promising. Here, complementary approaches of how to formulate and
transform respective UML and OCL verification tasks into corresponding solver
tasks have been proposed. We consider two verification approaches for UML and
OCL behavioral models and compare their methods and the workflows with each
other. By this, a better understanding of the advantages and disadvantages of
these verification methods is achieved.
(18 pages, PDF: 352kb via
HTTP)
- [Hilken et al., 2014c]
- Frank Hilken,
Philipp Niemann, Robert Wille, and Martin Gogolla.
Towards a Base Model for UML and OCL Verification.
In Frédéric Boulanger, Michalis Famelis, and Daniel Ratiu, editors,
Proc. 11th Int. Workshop on Model Driven Engineering, Verification and
Validation Workshop (MODEVVA'2014), pages 59-68,
http://ceur-ws.org/Vol-1235/, 2014. CEUR Proceedings, Vol. 1235.
Modelling languages such as UML and OCL are more and more used in
early stages of system design. These languages offer a huge set of
constructs. As a consequence, existing verification engines only support a
restricted subset of them. In this work, we propose an approach using model
transformations to unify different description means within a so called base
model. In the course of this transformation, complex language constructs are
expressed with a small subset of so-called core elements. This simplification
enables to interface with a wide range of verification engines with
complementary strengths and weaknesses. Our aim is that, guided by a
structural analysis of the base model, the developer can choose the most
promising verification engine.
(10 pages, PDF: 283kb via
HTTP)
- [Sedlmeier and Gogolla, 2014]
- Matthias
Sedlmeier and Martin Gogolla.
Design and Prototypical Implementation of an Integrated Graph-Based Conceptual
Data Model.
In Bernhard Thalheim, Hannu Jaakkola, Yasushi Kiyoki, and Naofumi Yoshida,
editors, Proc. Int. 24th Int. Conf. Information Modelling and
Knowledge Bases (EJC'2014), pages 376-395. IOS Press, Amsterdam,
2014.
The paper introduces a new, comprehensive integrated conceptual
data model in a precise way. Central language features cover core modeling
concepts as classification, membership, inheritance, interfaces, structured
types, aliasing, aggregation, composition, constraints, clustering and
relationships. Schema states are thought of as being realized as graphs with
appropriate navigation options. A prototypical graph database implementation
and accompanying examples are discussed.
(20 pages, PDF: 1195kb via
HTTP)
- [Brucker et al., 2013]
- Achim D.
Brucker, Dan Chiorean, Tony Clark, Birgit Demuth, Martin Gogolla, Dimitri
Plotnikov, Bernhard Rumpe, Edward D. Willink, and Burkhart Wolff.
Report on the Aachen OCL Meeting.
In Jordi Cabot, Martin Gogolla, István Ráth, and Edward D. Willink,
editors, Proc. Int. Workshop on OCL (OCLWS'2013), pages
103-111, http://ceur-ws.org/Vol-1092/, 2013. CEUR Proceedings,
Vol. 1092.
As a continuation of the OCL workshop during the MODELS 2013
conference in October 2013, a number of OCL experts decided to meet in
November 2013 in Aachen for two days to discuss possible short term
improvements of OCL for an upcoming OMG meeting and to envision possible
future long-term developments of the language. This paper is a sort of
``minutes of the meeting'' and intended to quickly inform the OCL community
about the discussion topics.
(9 pages, PDF: 534kb via
HTTP)
- [Cabot et al., 2013]
- Jordi Cabot, Martin
Gogolla, István Ráth, and Edward D. Willink, editors.
Proc. MODELS'2013 OCL Workshop, http://ceur-ws.org/Vol-1092/,
2013. CEUR Workshop Proceedings, Vol. 1092.
Satellite Events at the MODELS'2013 Conference.
The proceedings contain the accepted contributions for the OCL
Workshop at the MODELS'2013 conference.
- [Clark et al., 2013]
- Tony Clark,
Robert B. France, Martin Gogolla, and Bran Selic.
Meta-Modeling Model-Based Engineering Tools (Dagstuhl Seminar 13182).
Dagstuhl Reports, 3(4):188-226, 2013.
Model-based engineering (MBE) is a software development approach
in which abstraction via modeling is used as the primary mechanism for
managing the complexity of software-based systems. An effective approach to
software development must be supported by effective technologies (i.e.,
languages, methods, processes, tools). The wide range of development tasks
that effective MBE approaches must support leads to two possible tooling
scenarios. In the first scenario a federated collection of tools is used to
support system development. Each tool in the collection provides specialized
services. Tool interoperability and consistency of information across the
tools are major concerns in this scenario. These concerns are typically
addressed using transformations and exposed tool interfaces. Defining and
evolving the transformations and interfaces requires detailed low-level
knowledge of the tools and thus leads to complex tooling environments that
are difficult to configure, learn, use, and evolve. In the second scenario, a
single tool is used to support the complete modeling lifecycle. This avoids
the inter-tool transformation and consistency problems, but the resulting
multi-featured tool is a monolithic entity that is costly to develop and
evolve. Furthermore, the large number of non-trivial features can make
learning and using such tools difficult. Successful uptake of MDE in industry
requires supporting tools to be, at least, useful and usable. From a tool
developer's perspective, there is also a need to significantly reduce the
cost and effort required to develop and evolve complex MBE tools. This
seminar brings together experts in the areas of MBE, meta-modeling, tool
development, and human-computer interactions to map out a research agenda
that lays a foundation for the development of effective MBE tools. Such a
foundation will need to support not only interoperability of tools or tool
features, but also the implementation of high quality MBE tools. The
long-term objective is to foster a research community that will work on a
foundation that can be expressed in the form of standard tool (meta-)models
that capture and leverage high quality reusable MBE tool development
experience.
(40 pages, PDF: 1336kb via
HTTP)
- [Dubois et al., 2013]
- Catherine
Dubois, Michalis Famelis, Martin Gogolla, Leonel Nobrega, Ileana Ober,
Martina Seidl, and Markus Völter.
Research Questions for Validation and Verification in the Context of
Model-Based Engineering.
In Frederic Boulanger, Michalis Famelis, and Daniel Ratiu, editors,
Proc. 10th Int. Workshop on Model Driven Engineering, Verification and
Validation (MODEVVA'2013), pages 67-76,
http://ceur-ws.org/Vol-1069/, 2013. CEUR Proceedings, Vol. 1069.
In model-based engineering (MBE), the abstraction power of models
is used to deal with the ever increasing complexity of modern software
systems. As models play a central role in MBE-based development processes,
for the adoption of MBE in practical projects it becomes indispensable to
introduce rigorous methods for ensuring the correctness of the models.
Consequently, much effort has been spent on developing and applying
validation and verification (V&V) techniques for models. However, there are
still many open challenges. In this paper, we shortly review the status quo
of V&V techniques in MBE and derive a catalogue of open questions whose
answers would contribute to successfully putting MBE into
practice.
(10 pages, PDF: 241kb via
HTTP)
- [Gogolla, 2013a]
- Martin Gogolla.
Employing the Object Constraint Language in Model-Based Engineering.
In Pieter Van Gorp, Tom Ritter, and Louise Rose, editors, Proc. 9th
European Conf. Modelling Foundations and Applications (ECMFA 2013),
pages 1-2. Springer, Berlin, LNCS 7949, 2013.
Invited talk.
MBE (Model-Based Engineering) proposes to develop software by
taking advantage of models, in contrast to traditional code-centric
development approaches. If models play a central role in development, model
properties must be formulated and checked early on the modeling level, not
late on the implementation level. We discuss how to validate and verify model
properties in the context of modeling languages like the UML (Unified
Modeling Language) combined with textual restrictions formulated in the
OCL (Object Constraint Language).
(2 pages, PDF: 39kb via
HTTP)
- [Gogolla, 2013b]
- Martin
Gogolla, editor.
Proc. MODELS'2013 Doctoral Symposium,
http://ceur-ws.org/Vol-1071/, 2013. CEUR Workshop Proceedings,
Vol. 1071.
Satellite Events at the MODELS'2013 Conference.
The proceedings contain the accepted contributions for the
Doctoral Symposium at the MODELS'2013 conference.
- [Gogolla et al., 2013]
- Martin Gogolla,
Fabian Büttner, and Jordi Cabot.
Initiating a Benchmark for UML and OCL Analysis Tools.
In Margus Veanes and Luca Vigano, editors, Proc. 7th Int. Conf. Tests
and Proofs (TAP 2013), pages 115-132. Springer, Berlin,
LNCS 7942, 2013.
PDF contains LNCS conference paper (18 pp) plus additional material (30 pp).
The Object Constraint Language (OCL) is becoming more and more
popular for model-based engineering, in particular for the development of
models and model transformations. OCL is supported by a variety of analysis
tools having different scopes, aims and technological corner stones. The
spectrum ranges from treating issues concerning formal proof techniques to
testing approaches, from validation to verification, and from logic
programming and rewriting to SAT-based technologies. This paper is a first
step towards a well-founded benchmark for assessing validation and
verification techniques on UML and OCL models. The paper puts forward a set
of UML and OCL models together with particular questions for these models
roughly characterized by the notions consistency, independence, consequences,
and reachability. The paper sketches how these questions are handled by two
OCL tools, USE and EMFtoCSP. The claim of the paper is not to present a
complete benchmark right now. The paper is intended to initiate the
development of further UML and OCL models and accompanying questions within
the UML and OCL community. The OCL community is invited to check the
presented UML and OCL models with their approaches and tools and to
contribute further models and questions which emphasize the possibilities
offered by their own tools.
(48 pages, PDF: 818kb via
HTTP)
- [Hamann and Gogolla, 2013]
- Lars Hamann
and Martin Gogolla.
Endogenous Metamodeling Semantics for Structural UML2 Concepts.
In Ana Moreira, Bernhard Schätz, Jeff Gray, Antonio Vallecillo, and
Peter J. Clarke, editors, Proc. 16th Int. Conf. Model Driven
Engineering Languages and Systems (MoDELS'2013), pages 488-504.
Springer, Berlin, LNCS 8107, 2013.
A lot of work has been done in order to put the Unified Modeling
Language (UML) on a formal basis by translating concepts into various formal
languages, e.g., set theory or graph transformation. While the abstract UML
syntax is defined by using an endogenous approach, i. e., UML describes its
abstract syntax using UML, this approach is rarely used for its semantics.
This paper shows how to apply an endogenous approach called metamodeling
semantics for central parts of the UML standard. To this end, we enrich
existing UML language elements with constraints specified in the Object
Constraint Language (OCL) in order to describe a semantic domain model. The
UML specification explicitly states that complete runtime semantics is not
included in the standard because it would be a major amount of work. However,
we believe that certain central concepts, like the ones used in the UML
standard and in particular property features as subsets, union and derived,
need to be explicitly modeled to enforce a common understanding. Using such
an endogenous approach enables the validation and verification of the UML
standard by using off-the-shelf UML and OCL tools.
(17 pages, PDF: 587kb via
HTTP)
- [Hofrichter et al., 2013]
- Oliver
Hofrichter, Martin Gogolla, and Karsten Sohr.
UML/OCL based Design and Analysis of Role-Based Access Control Policies.
In Balbir Barn, Tony Clark, Robert France, Ulrich Frank, Vinay Kulkarni, and
Dan Turk, editors, Proc. Int. Workshop Towards the Model Driven
Organization (AMINO 2013), pages 33-42,
http://ceur-ws.org/Vol-1102/, 2013. CEUR Proceedings, Vol. 1102.
Access control plays an important part in IT systems these days.
Specifically Role-Based Access Control (RBAC) has been widely adopted in
practice. One of the major challenges within the introduction of RBAC into an
organization is the policy definition. Modeling technologies provide support
by allowing to design and to validate a policy. In this work we apply a UML
and OCL based domain-specific language (DSL) to design and to analyze the
access control of the conference management system EasyChair. For the first
time EasyChair is formally described in connection with RBAC. Our activities
are located on three levels:(a) the re-engineering of the system's access
control policy is located at the policy level, (b) the framework level
summarizes activities concerning the RBAC metamodel (e.g. enhancements), and
(c) at the configuration level, we configure a concrete policy using the
conference management system options. As a result, both a DSL developed in
previous work is checked for the need of enhancements, and the re-enginered
EasyChair access control policy is analyzed. For validation purposes a
frequently used UML/OCL validation tool is utilized.
(10 pages, PDF: 328kb via
HTTP)
- [Kuhlmann et al., 2013]
- Mirco Kuhlmann,
Karsten Sohr, and Martin Gogolla.
Employing UML and OCL for Designing and Analyzing Role-Based Access Control.
Journal on Mathematical Structures in Computer Science, Cambridge
University Press, UK, 23(4):796-833, 2013.
Stringent security requirements of organizations like banks or
hospitals frequently adopt role-based access control (RBAC) principles to
represent and simplify their internal permission management. While
representing a fundamental advanced RBAC concept enabling precise
restrictions on access rights, authorization constraints increase the
complexity of the resulting security policies so that tool support for
comfortable creation and adequate validation is required. One contribution of
our work is a new approach to developing and analyzing RBAC policies using a
UML-based domain-specic language (DSL) for modeling RBAC concepts which
allows hiding the mathematical structures of the underlying authorization
constraints implemented in OCL. The presented DSL is highly configurable and
extendable with respect to new concepts and classes of authorization
constraints, and allows the developer to validate RBAC policies in an
effective way. The handling of dynamic (i.e., time-dependent) constraints,
their visual representation through the RBAC DSL, and their analysis form
another part of our contribution. The approach is supported by a UML and OCL
validation tool.
(36 pages, PDF: 776kb via
HTTP)
- [Mustafa, 2013]
- Tanveer Mustafa.
Static Security Analysis of Java Applications with an Approach Based on
Design by Contract.
PhD thesis, Universität Bremen, Fachbereich Mathematik und Informatik,
2013.
In recent years, Design by Contract (DBC) and related tool support
have shown promise, which has some practical impact to statically analyze
applications with respect to security. Specifically, the Java Modeling
Language (JML), which is close to Java's syntax, can be adopted by the
software developers to formulate and verify security requirements against
applications. In this thesis, we discuss whether DBC and related tool support
can bring advantage towards statically analyzing the real-world
security-critical applications. We applied the DBC approach to a role-based
authorization API. Based on our experience, and a further learning curve to
understand the working of static checking in general, we came up with an
extended DBC-based analysis approach for security. Here, we combined static
checking with program slicing, which is a software abstraction technique. In
particular, we learned that DBC is well suited for checking the correct usage
of Security APIs by their respective applications. We have successfully
applied this extended approach to two real-world security case studies. In
the first case study, we analyzed the access control policy of Android system
services which provide security-critical functionality. In the second case
study, we outlined how our approach can be used in the context of the Java
Enterprise Edition (JEE). Last but not the least, we argue that since many
Security APIs such as OWASP Enterprise Security API (ESAPI), Java Trusted
Software Stack to access security hardware (jTSS) and Java Secure Socket
Extension (JSSE) are usually complex, they are often incorrectly used or
interpreted by the application developers. Therefore, in this context, our
approach can be seen as a general method for checking whether applications
use Security APIs in a way such that the security requirements of the
application are fulfilled.
- [Wille et al., 2013]
- Robert Wille, Martin
Gogolla, Mathias Soeken, Mirco Kuhlmann, and Rolf Drechsler.
Towards a Generic Verification Methodology for System Models.
In Proc. Design, Automation and Test in Europe (DATE'2013),
pages 1193-1196. European Design and Automation Association (EDAA),
2013.
The use of modeling languages such as UML or SysML enables to
formally specify and verify the behavior of digital systems already in the
absence of a specific implementation. However, for each modeling method and
verification task usually a separate verification solution has to be applied
today. In this paper, a methodology is envisioned that aims at stopping this
``inflation'' of different verification approaches and instead employs a
generic methodology. For this purpose, a given specification as well as the
verification shall be transformed into a basic model which itself is
specified by means of a generic modeling language. Then, a range of automatic
reasoning engines shall uniformly be applied to perform the actual
verification. A feasibility study demonstrates the applicability of the
envisioned approach.
(4 pages, PDF: 148kb via
HTTP)
- [Balaban et al., 2012]
- Mira Balaban,
Jordi Cabot, Martin Gogolla, and Claas Wilke.
Workshop on OCL and Textual Modeling: OCL 2012.
In Mira Balaban, Jordi Cabot, Martin Gogolla, and Claas Wilke, editors,
Proc. 12th Int. Workshop Object Constraint Language (OCL
2012), pages 5-6. ACM Digital Library, 2012.
At the MoDELS 2012 conference, the ``OCL and Textual Modeling''
workshop is a forum where researchers and practitioners interested in
building models using OCL or other kinds of textual languages can directly
interact, report advances, share results, identify tools for language
development, and discuss appropriate standards. The workshop encouraged
discussions for achieving synergy from different modeling language concepts
and modeling language use. The close interaction enabled researchers and
practitioners to identify common interests and options for potential
cooperation.
(2 pages, PDF: 42kb via
HTTP)
- [Brüning et al., 2012]
- Jens
Brüning, Martin Gogolla, Lars Hamann, and Mirco Kuhlmann.
Evaluating and Debugging OCL Expressions in UML Models.
In Achim D. Brucker and Jacques Julliand, editors, Proc. 6th Int. Conf.
Tests and Proofs (TAP 2012), pages 156-162. Springer, Berlin,
LNCS 7305, 2012.
This paper discusses the relationship between tests and proofs
with focus on a tool for UML and OCL models. Tests are thought of as UML
object diagrams and theorems or properties which are to be checked are
represented as OCL constraints, i.e., class invariants or operation pre- and
postconditions. The paper shows for the UML and OCL tool USE (UML-based
Specification Environment) how to trace and debug the validity of an expected
theorem (an OCL constraint) within a given test case (a state model in the
form of a UML object diagram).
(7 pages, PDF: 158kb via
HTTP)
- [Büttner et al., 2012]
- Fabian
Büttner, Marina Egea, Jordi Cabot, and Martin Gogolla.
Verification of ATL Transformations Using Transformation Models and Model
Finders.
In Kokichi Futatsugi and Shaoying Liu, editors, Proc. 14th Int. Conf.
Formal Engineering Methods (ICFEM 2012), pages 198-213. Springer,
Berlin, LNCS 7635, 2012.
In MDE models constitute pivotal elements of the software to be
built. If models are specified well, transformations can be employed for
different purposes, e.g., to produce final code. However, it is important
that models produced by a transformation from valid input models are valid,
too, where validity refers to the metamodel constraints, often written in
OCL. Transformation models are a way to describe this Hoare-style notion of
partial correctness of model transformations using only metamodels and
constraints. In this paper, we provide an automatic translation of
declarative, rule-based ATL transformations into such transformation models,
providing an intuitive and versatile encoding of ATL into OCL that can be
used for the analysis of various properties of transformations. We
furthermore show how existing model verifiers (satisfiability checkers) for
OCL-annotated metamodels can be applied for the verification of the
translated ATL transformations, providing evidence for the effectiveness of
our approach in practice.
(16 pages, PDF: 342kb via
HTTP)
- [Cabot and Gogolla, 2012]
- Jordi Cabot and
Martin Gogolla.
Object Constraint Language (OCL): A Definitive Guide.
In Marco Bernardo, Vittorio Cortellessa, and Alphonso Pierantonio, editors,
Proc. 12th Int. School Formal Methods for the Design of Computer,
Communication and Software Systems: Model-Driven Engineering, pages
58-90. Springer, Berlin, LNCS 7320, 2012.
The Object Constraint Language (OCL) started as a complement of
the UML notation with the goal to overcome the limitations of UML (and in
general, any graphical notation) in terms of precisely specifying detailed
aspects of a system design. Since then, OCL has become a key component of any
model-driven engineering (MDE) technique as the default language for
expressing all kinds of (meta)model query, manipulation and specification
requirements. Among many other applications, OCL is frequently used to
express model transformations (as part of the source and target patterns of
transformation rules), well-formedness rules (as part of the definition of
new domain-specific languages), or code-generation templates (as a way to
express the generation patterns and rules). This chapter pretends to provide
a comprehensive view of this language, its many applications and available
tool support as well as the latest research developments and open challenges
around it.
(33 pages, PDF: 352kb via
HTTP)
- [Dang and Gogolla, 2012]
- Duc-Hanh Dang and
Martin Gogolla.
An Approach for Quality Assurance of Model Transformations.
In Kim Hung Le and Ngoc Binh Nguyen, editors, Proc. 4th Int. Conf.
Knowledge and Systems Engineering (KSE 2012), pages 223-230. IEEE
CPS, 2012.
Model transformation is an important building block for
model-driven approaches. It puts forward a necessity as well as a challenge
for validating and verifying transformations. This paper proposes a
specification method and an OCL-based framework for model transformations.
The approach is based on an integration of Triple Graph Grammars and the
Object Constraint Language (OCL) as a formal foundation. The OCL-based
transformation framework offers an on-the-fly verification of model
transformations and means for transformation quality
assurance.
(8 pages, PDF: 367kb via
HTTP)
- [Gogolla and Vallecillo, 2012]
- Martin
Gogolla and Antonio Vallecillo.
On Explaining Modeling Principles with Modeling Examples: A Classification
Catalog.
In Dan Chiorean and Benoit Combemale, editors, Proc. 8th MODELS
Educators' Symposium (EduSymp 2012), pages 28-31. ACM Digital
Library, 2012.
Examples are of central concern in teaching modeling. Typically,
the general principles and concepts that have to be communicated are
explained in terms of smaller or larger modeling examples with the hope that
the examples cover the central issues of the principles and concepts well.
The paper discusses a classification catalogue for examples along various
criteria like syntax, semantics, pragmatics, complexity or evolution. The aim
of the paper is to encourage the teaching with examples exhausting the
possible spectrum of example use.
(4 pages, PDF: 172kb via
HTTP)
- [Hamann et al., 2012a]
- Lars
Hamann, Fabian Büttner, Mirco Kuhlmann, and Martin Gogolla.
Optimierte Suche von Modellinstanzen für UML/OCL-Beschreibungen in USE.
In Elmar J. Sinz and Andy Schürr, editors, Proc.
Modellierung (MODELLIERUNG'2012), pages 155-170. Springer,
LNI 201, 2012.
Konzeptuelle Modelle sind ein wichtiges Element modellgetriebener
Softwareentwicklung, sowohl in der Beschreibung von Systemen als auch in der
Metamodellierung domänenspezifischer Sprachen. Zu ihrer Beschreibung
haben sich UML und OCL (und angelehnte Sprachen) als ein de facto Standard
durchgesetzt. Validierung und Verifikation der Modelle sind hierbei wichtige
Instrumente zur Sicherstellung der Modellqualität. Die Sprache ASSL (A
Snapshot Sequence Language) bietet die Möglichkeit durch imperative
Programmierung auf Modellebene und Backtracking konforme Instanzen
systematisch zu erzeugen. Der White-Box-Ansatz ASSL ergänzt
Black-Box-Ansätze, welche die Modellinstanziierung durch Abbildung auf
(bspw.) ein Problem der relationalen Logik lösen. Dieser Beitrag
beschreibt, wie die durch ASSL-Programme aufgespannten Suchräume durch
Ausnutzung der Modellabdeckung der OCL-Constraints und der Modellstruktur
erheblich verkleinert werden können und gibt einen Ausblick darauf, wie
bestehende Black-Box-Ansätze in ASSL integriert werden können, um
innerhalb eines imperativen Rahmens Teilinstanziierungen deklarativ
beschreiben zu können.
(16 pages, PDF: 294kb via
HTTP)
- [Hamann et al., 2012b]
- Lars Hamann, Martin
Gogolla, and Daniel Honsel.
Towards Supporting Multiple Execution Environments for UML/OCL Models at
Runtime.
In Nelly Bencomo, Gordon Blair, Sebastian Götz, Brice Morin, and Bernhard
Rumpe, editors, Proc. 7th Int. Workshop Models at Runtime (MRT
2012), pages 46-51. ACM Digital Library, 2012.
Our approach allows the developer to verify whether a model
corresponds to a concrete implementation in terms of the JVM (Java Virtual
Machine) by validating assumptions about model structure and behavior. In
previous work, we focused on (a) the validation of static model properties by
monitoring invariants, (b) basic dynamic properties by specifying pre- and
postconditions of an operation and (c) employment of protocol state machines
for validating advanced dynamic properties. This paper discusses the
generalization of the underlying architecture for the JVM to easily
incorporate other runtime environments like the CLR (Common Language
Runtime). This is realized by extracting common features like method calls
and identifying relevant interception points.
(6 pages, PDF: 1141kb via
HTTP)
- [Hamann et al., 2012c]
- Lars Hamann,
Oliver Hofrichter, and Martin Gogolla.
OCL-Based Runtime Monitoring of Applications with Protocol State Machines.
In Antonio Vallecillo and Juha-Pekka Tolvanen, editors, Proc. 8th
European Conf. Modelling Foundations and Applications (ECMFA 2012),
pages 384-399. Springer, Berlin, LNCS 7349, 2012.
This paper presents an approach that enables users to monitor and
verify the behavior of an application running on a virtual machine (like the
Java virtual machine) at an abstract model level. Models for object-oriented
implementations are often used as a foundation for formal verification
approaches. Our work allows the developer to verify whether a model
corresponds to a concrete implementation by validating assumptions about
model structure and behavior. In previous work, we focused on (a) the
validation of static model properties by monitoring invariants and (b) basic
dynamic properties by specifying pre- and postconditions of an operation. In
this paper, we extend our work in order to verify and validate advanced
dynamic properties, i.e., properties of sequences of operation calls. This is
achieved by integrating support for monitoring UML protocol state machines
into our basic validation engine.
(16 pages, PDF: 429kb via
HTTP)
- [Hamann et al., 2012d]
- Lars Hamann,
Oliver Hofrichter, and Martin Gogolla.
Towards Integrated Structure and Behavior Modeling with OCL.
In Robert France, Juergen Kazmeier, Ruth Breu, and Colin Atkinson, editors,
Proc. 15th Int. Conf. Model Driven Engineering Languages and
Systems (MoDELS'2012), pages 235-251. Springer, Berlin,
LNCS 7590, 2012.
Precise modeling with UML and OCL traditionally focuses on
structural model features like class invariants. OCL also allows the
developer to handle behavioral aspects in form of operation pre- and
postconditions. However, behavioral UML models like statecharts have rarely
been integrated into UML and OCL modeling tools. This paper discusses an
approach that combines precise structure and behavior modeling: Class
diagrams together with class invariants restrict the model structure and
protocol state machines constrain the model behavior. Protocol state machines
can take advantage of OCL in form of OCL state invariants and OCL pre- and
postconditions for state transitions. Protocol state machines can cover
complete object life cycles in contrast to pre- and postconditions which only
affect single operation calls. The paper reports on the chosen state machine
features and their implementation in a UML and OCL validation and
verification tool.
(17 pages, PDF: 266kb via
HTTP)
- [Hamann et al., 2012e]
- Lars Hamann,
Laszlo Vidacs, Martin Gogolla, and Mirco Kuhlmann.
Abstract Runtime Monitoring with USE.
In Tom Mens, Anthony Cleve, and Rudolf Ferenc, editors, Proc. European
Conf. Software Maintenance and Reengineering (CSMR'2012), pages
549-552. IEEE, 2012.
We present a tool that permits developers to monitor and verify
assumptions at an abstract level about an application running on a virtual
machine. On the implementation level, a so-called platform aligned model
(PAM) described in the UML (Unified Modeling Language) and enriched by OCL
(Object Constraint Language) requirements is used to formalize these
assumptions. Our solution allows a developer to concentrate on verifying core
parts of an implementation while ignoring major parts of peripheral technical
details. In order to easily detect a PAM which characterizes the central
requirements, we propose a semi-automatic approach. First, a complete program
model is generated by analyzing the source code. Afterwards, this model is
reduced by the user to central classes and associations. This reduced model
is enriched by the assumptions about the expected behavior of the system. The
monitor connects to the running system at a particular point in time and
builds up an abstract snapshot, i.e., an instance of the PAM, which
corresponds to the current state. When the application is further executed
this snapshot is synchronized by listening to changes in the running system.
During monitoring the stated assumptions are validated and possible
violations are reported to the user.
(4 pages, PDF: 964kb via
HTTP)
- [Hofrichter et al., 2012]
- Oliver
Hofrichter, Lars Hamann, Martin Gogolla, and Frank Steimke.
The Secret Life of OCL Constraints.
In Mira Balaban, Jordi Cabot, Martin Gogolla, and Claas Wilke, editors,
Proc. 12th Int. Workshop Object Constraint Language (OCL
2012), pages 63-64. ACM Digital Library, 2012.
This paper reports on the use of OCL constraints in a German
e-government project and focuses on the identication of diverse
manifestations of invariants. Beyond invariants' formal content three other
manifestations are identied: (a) feedback by a tool based on the processed
invariants, (b) the invariant's textual explanation as a basis for a modeler
who uses the invariants and (c) implicit assumptions for a model
transformation resulting from the invariants.
(2 pages, PDF: 201kb via
HTTP)
- [Kuhlmann and Gogolla, 2012a]
- Mirco
Kuhlmann and Martin Gogolla.
From UML and OCL to Relational Logic and Back.
In Robert France, Juergen Kazmeier, Ruth Breu, and Colin Atkinson, editors,
Proc. 15th Int. Conf. Model Driven Engineering Languages and
Systems (MoDELS'2012), pages 415-431. Springer, Berlin,
LNCS 7590, 2012.
Languages like UML and OCL are used to precisely model systems.
Complex UML and OCL models therefore represent a crucial part of model driven
development, as they formally specify the main system properties.
Consequently, creating complete and correct models is a critical concern. For
this purpose, we provide a lightweight model validation method based on
efficient SAT solving techniques. In this paper, we present a transformation
from UML class diagram and OCL concepts into relational logic. Relational
logic in turn represents the source for advanced SAT-based model instance
finders like Kodkod. This paper focuses on a natural transformation approach
which aims to exploit the features of relational logic as directly as
possible through straitening the handling of main UML and OCL features. This
approach allows us to explicitly benefit from the efficient handling of
relational logic in Kodkod and to interpret found results backwards in terms
of UML and OCL.
(17 pages, PDF: 316kb via
HTTP)
- [Kuhlmann and Gogolla, 2012b]
- Mirco
Kuhlmann and Martin Gogolla.
Strengthening SAT-Based Validation of UML/OCL Models by Representing
Collections as Relations.
In Antonio Vallecillo and Juha-Pekka Tolvanen, editors, Proc. 8th
European Conf. Modelling Foundations and Applications (ECMFA 2012),
pages 32-48. Springer, Berlin, LNCS 7349, 2012.
Collections, i.e., sets, bags, ordered sets and sequences, play a
central role in UML and OCL models. Essential OCL operations like role
navigation, object selection by stating properties and the first order logic
universal and existential quantifiers base upon or result in collections. In
this paper, we show a uniform representation of flat and nested, but typed
OCL collections as well as strings in form of flat, untyped relations, i.e.,
sets of tuples, respecting the OCL particularities for nesting, undefinedness
and emptiness. Transforming collections and strings into relations is
particularly needed in the context of automatic model validation on the basis
of a UML and OCL model transformation into relational logic.
(17 pages, PDF: 338kb via
HTTP)
- [Kuhlmann et al., 2012]
- Mirco
Kuhlmann, Lars Hamann, Martin Gogolla, and Fabian Büttner.
A Benchmark for OCL Engine Accuracy, Determinateness, and Efficiency.
Journal on Software and Systems Modeling, Springer, DE,
11(2):165-182, 2012.
DOI 10.1007/s10270-010-0174-8.
Since several years, the Object Constraint Language (OCL) is a
central component in modeling and transformation languages like the Unified
Modeling Language, the Meta Object Facility, and Query View Transformation.
Consequently, approaches MDE (Model-Driven Engineering) depend on this
language. OCL is present not only in areas influenced by the OMG but also in
the Eclipse Modeling Framework (EMF). Thus the quality of OCL and its
realization in tools seems to be crucial for the success of model-driven
development. Surprisingly, up to now a benchmark for OCL to measure quality
properties has not been proposed. This paper puts forward in the first part
the concepts of a comprehensive OCL benchmark. Our benchmark covers (1) OCL
engine accuracy (e.g., for the handling of the undefined value, the use of
variables and the implementation of OCL standard operations), (2) OCL engine
determinateness properties (e.g., for the collection operations `any' and
`flatten'), and (3) OCL engine efficiency (for data type and user-defined
operations). In the second part, this paper empirically evaluates the
proposed benchmark concepts by examining several OCL tools. The paper
clarifies a number of differences in handling particular language features
and under specifications in the OCL standard.
(17 pages, PDF: 292kb via
HTTP)
- [Sohr et al., 2012]
- Karsten Sohr, Mirco
Kuhlmann, Martin Gogolla, Hongxin Hu, and Gail-Joon Ahn.
Comprehensive Two-Level Analysis of Role-Based Delegation and Revocation
Policies with UML and OCL.
Journal on Information and Software Technology, Elsevier, NL,
54(12):1396-1417, 2012.
Role-based access control (RBAC) has become the de facto standard
for access management in various large-scale organizations. Often role-based
policies must implement organizational rules to satisfy compliance or
authorization requirements, e.g., the principle of separation of duty (SoD).
To provide business continuity, organizations should also support the
delegation of access rights and roles, respectively. This, however, makes
access control more complex and error-prone, in particular, when delegation
concepts interplay with SoD rules. A systematic way to specify and validate
access control policies consisting of organizational rules such as SoD as
well as delegation and revocation rules shall be developed. A domain-specific
language for RBAC as well as delegation concepts shall be made available. In
this paper, we present an approach to the precise specification and
validation of role-based policies based on UML and OCL. We significantly
extend our earlier work, which proposed a UML-based domain-specific language
for RBAC, by supporting delegation and revocation concepts. We show the
appropriateness of our approach by applying it to a banking application. In
particular, we give three scenarios for validating the interplay between SoD
rules and delegation/revocation. To the best of our knowledge, this is the
first attempt to formalize advanced RBAC concepts, such as history-based SoD
as well as various delegation and revocation schemes, with UML and OCL. With
the rich tool support of UML, we believe our work can be employed to validate
and implement real-world role-based policies.
(54 pages, PDF: 801kb via
HTTP)
- [Vallecillo and Gogolla,
2012]
- Antonio Vallecillo and Martin Gogolla.
Typing Model Transformations Using Tracts.
In Zhenjiang Hu and Juan de Lara, editors, Proc. 5th Int. Conf. Model
Transformation (ICMT 2012), pages 56-71. Springer, Berlin,
LNCS 7307, 2012.
As the complexity of MDE artefacts grows, there is an increasing
need to rely on precise and abstract mechanisms that allow system architects
to reason about the systems they design, and to test their individual
components. In particular, assigning types to models and model
transformations is needed for realizing many key MDE activities. This paper
presents a light-weight approach to type model transformations using tracts.
Advantages and limitations of the proposal are discussed, as well as the
applicability of the proposal in several settings.
(16 pages, PDF: 307kb via
HTTP)
- [Vallecillo et al., 2012]
- Antonio
Vallecillo, Martin Gogolla, Loli Burgueno, Manuel Wimmer, and Lars Hamann.
Formal Specification and Testing of Model Transformations.
In Marco Bernardo, Vittorio Cortellessa, and Alphonso Pierantonio, editors,
Proc. 12th Int. School Formal Methods for the Design of Computer,
Communication and Software Systems: Model-Driven Engineering, pages
399-437. Springer, Berlin, LNCS 7320, 2012.
In this paper we present some of the key issues involved in model
transformation specification and testing, discuss and classify some of the
existing approaches, and introduce the concept of Tract, a generalization of
model transformation contracts. We show how Tracts can be used for model
transformation specification and black-box testing, and the kinds of analyses
they allow. Some representative examples are used to illustrate this
approach.
(39 pages, PDF: 774kb via
HTTP)
- [Brüning and Gogolla, 2011]
- Jens
Brüning and Martin Gogolla.
UML Metamodel-based Workflow Modeling and Execution.
In Lea Kutvonen and Pontus Johnson, editors, Proc. Enterprise
Distributed Object Computing (EDOC'2011), pages 97-106. IEEE,
2011.
In this paper, we present a UML metamodel-based approach for
creating and executing workflow models. The workflow modeling language is
introduced through its abstract syntax, and an evaluation shows how this
language supports known workflow patterns. Some patterns can be expressed
easier compared to established languages like EPCs or BPMN. Organizational
and data aspects in workflow models can be described on the basis of the
presented metamodel. The workflow models can be instantiated and executed
with a tool realizing parts of the UML action semantics. At an early stage of
design, our workflow models can be evaluated by testing scenarios with the
used tool in combination with the developed workflow plug in. Employing the
tool, dynamic aspects of the workflow process models together with data and
organizational aspects can be evaluated. During execution of the workflow
scenarios, the workflow models can be adaptively changed, and data can be
captured and evaluated by formulating process mining queries with UML's OCL
(Object Constraint Language).
(10 pages, gzipped PostScript: 462kb via
HTTP, uncompressed PostScript: 1274kb via
HTTP, PDF: 329kb via
HTTP)
- [Brüning et al., 2011]
- Jens
Brüning, Lars Hamann, and Andreas Wolff.
Extending ASSL: Making UML Metamodel-based Workflows Executable.
In Jordi Cabot, Robert Clariso, Martin Gogolla, and Burkhart Wolff, editors,
Proc. Workshop OCL and Textual Modelling (OCL'2011).
ECEASST, Electronic Communications,
journal.ub.tu-berlin.de/eceasst/issue/view/56, 2011.
ASSL is a language that enables UML developers to test and certify
UML and OCL models. Snapshots of system states are semi-automatically created
and main parts of the UML action semantics is implemented by the language.
Its interpreter is the well-known UML modeling tool USE. The article proposes
a number of language extensions to ASSL. These include (sub-) procedure calls
and pre- and postcondition checks on entering and exiting of operations using
OCL. The paper motivates the need for these extensions as well as their usage
and development along the problem of metamodel-based execution of workflow
models. Executable workflow models, driven by ASSL procedures, are introduced
in detail to present the usage of ASSL and our extensions.
(13 pages, gzipped PostScript: 442kb via
HTTP, uncompressed PostScript: 1559kb via
HTTP, PDF: 228kb via
HTTP)
- [Büttner and Gogolla, 2011]
- Fabian
Büttner and Martin Gogolla.
Modular Embedding of the Object Constraint Language into a Programming
Language.
In Adenilso Simao and Carrol Morgan, editors, Proc. 14th Brazilian
Symposium on Formal Methods (SBMF'2011), pages 124-139. Springer,
Berlin, LNCS 7021, 2011.
The Object Constraint Language (OCL) is a well-accepted ingredient
in model-driven engineering and accompanying modeling languages like UML
(Unified Modeling Language) or EMF (Eclipse Modeling Framework) which support
object-oriented software development. Among various possibilities, OCL offers
the formulation of state invariants and operation contracts in form of pre-
and postconditions. With OCL, side effect free query operations can be
implemented. However, for operations changing the system state an
implementation cannot be given within OCL. In order to fill this gap, this
paper proposes the language SOIL (Simple OCL-like Imperative Language). The
expression sub-language of SOIL is identical to OCL. SOIL adds well-known,
traditional imperative constructs. Thus by employing OCL and SOIL, it is
possible to describe any operation in a declarative way and in an operational
way on the modeling level without going into the details of a conventional
programming language. In contrast to other similar approaches, the embedding
of OCL into SOIL is done in a new, careful way so that elementary properties
in OCL are preserved (for example, commutativity of logical conjunction). The
paper discusses the central principles behind this conservative embedding of
OCL into SOIL. SOIL has a sound formal semantics and is implemented in the
UML and OCL tool USE (UML-based Specification Environment).
(16 pages, gzipped PostScript: 297kb via
HTTP, uncompressed PostScript: 733kb via
HTTP, PDF: 165kb via
HTTP)
- [Büttner et al., 2011]
- Fabian
Büttner, Jordi Cabot, and Martin Gogolla.
On Validation of ATL Transformation Rules By Transformation Models.
In Harald Cichos, Frederic Fondement, Levi Lucio, and Stephan Weissleder,
editors, Proc. Workshop on Model-Driven Engineering, Verification, and
Validation (MODEVVA'2011). ACM, 2011.
Model-to-model transformations constitute an important ingredient
in model-driven engineering. As real world transformations are complex,
systematic approaches are required to ensure their correctness. The ATLAS
Transformation Language (ATL) is a mature transformation language which has
been successfully applied in several areas. However, the executable nature of
ATL is a barrier for the validation of transformations. In contrast,
transformation models provide an integrated structural description of the
source and target metamodels and the transformation between them. While not
being executable, transformation models are wellsuited for analysis and
verification of transformation properties. In this paper, we discuss (a) how
ATL transformations can be translated into equivalent transformation models
and (b) illustrate how these surrogates can be employed to validate
properties of the original transformation.
(8 pages, gzipped PostScript: 355kb via
HTTP, uncompressed PostScript: 1731kb via
HTTP, PDF: 283kb via
HTTP)
- [Cabot et al., 2011]
- Jordi Cabot,
Robert Clariso, Martin Gogolla, and Burkhart Wolff, editors.
Preface for Proc. 11th International Workshop on OCL and Textual
Modelling,
http://eceasst.cs.tu-berlin.de/index.php/eceasst/issue/archive, 2011.
Electronic Communications of the EASST, Vol. 44.
Satellite Events at the TOOLS'2011 Conference.
This preface reports on the 11th workshop on OCL and Textual
Modelling held at the TOOLS Federated Conferences in 2011. The workshop
focused on the current state of OCL (standard, tool support, adoption, ...)
and the application of textual modelling to different domains. The workshop
included presentations together with a discussion session.
- [Chimiak-Opoka et al.,
2011]
- Joanna Dobroslawa Chimiak-Opoka, Birgit Demuth, Andreas Awenius,
Dan Chiorean, Sebastien Gabel, Lars Hamann, and Edward Willink.
OCL Tools Report based on the IDE4OCL Feature Model.
In Jordi Cabot, Robert Clariso, Martin Gogolla, and Burkhart Wolff, editors,
Proc. Workshop OCL and Textual Modelling (OCL'2011).
ECEASST, Electronic Communications,
journal.ub.tu-berlin.de/eceasst/issue/view/56, 2011.
Previously we have developed the idea of an Integrated Development
Environment for OCL (IDE4OCL). Based on the OCL community's feedback we have
also designed and published an IDE4OCL feature model. Here we present a
report on selected OCL tools developed by the authors and their teams. Each
author gives an overview of their OCL tool, provides a top level
architecture, and gives an evaluation of the tool features in a web
framework. The framework can also be used by other potential OCL users and
tool developers. For users it may serve as an aid to choose a suitable tool
for their OCL use scenarios. For tool developers it provides a comparative
view for further development of the OCL tools. Our plans are to maintain the
collected data and extend this web framework by further OCL tools.
Additionally, we would like to encourage sharing of OCL development
resources.
(19 pages, PDF: 344kb via
HTTP)
- [Duran et al., 2011]
- Francisco Duran,
Martin Gogolla, and Manuel Roldan.
Tracing Properties of UML and OCL Models with Maude.
In Francisco Duran and Vlad Rusu, editors, Proc. Workshop Algebraic
Methods in Model-based Software Engineering (AMMSE'2011), pages
81-97. Electronic Proceedings in Theoretical Computer Science,
EPTCS 56, 2011.
The starting point of this paper is a system described in form of
a UML class diagram where system states are characterized by OCL invariants
and system transitions are defined by OCL pre- and postconditions. The aim of
our approach is to assist the developer in learning about the consequences of
the described system states and transitions and about the formal implications
of the properties that are explicitly given. We propose to draw conclusions
about the stated constraints by translating the UML and OCL model into the
algebraic specification language and system Maude, which is based on rewrite
logic. We will concentrate in this paper on employing Maude's capabilities
for state search. Maude's state search offers the possibility to describe a
start configuration of the system and then explore all configurations
reachable by rewriting. The search can be adjusted by formulating
requirements for the allowed states and the allowed
transitions.
(19 pages, gzipped PostScript: 2746kb via
HTTP, uncompressed PostScript: 23146kb via
HTTP, PDF: 331kb via
HTTP)
- [Gogolla, 2011a]
- Martin Gogolla.
Direction Neutral Language Transformation with Metamodels.
Dagstuhl Reports, 1(1):57-57, 2011.
Dagstuhl Seminar 11031: Bidirectional Transformations bx. Organized by
Zhenjiang Hu, Andy Schürr, Perdita Stevens, James Terwilliger. Long
version: http://www.dagstuhl.de/mat/Files/11/11031/11031.GogollaMartin1.Paper.pdf.
The aim of this work is to sketch a general metamodel-based frame
for describing potentially bidirectional transformations between software
languages. We propose to describe a single language with a metamodel
consisting of a UML class diagram with classes, attributes and associations
and accompanying OCL constraints. A language description is separated into a
syntax and a semantics part. The allowed object diagrams of the syntax part
correspond to the syntactically allowed words of the language. The semantics
can associate with every word of the language certain semantical objects.
However, only finite fractions of the semantics can be handled in metamodel
tools. Having two languages described by their metamodels, a transformation
between them is established by another metamodel, a transformation model. The
transformation model can associate a syntax object from one language with a
syntax object from the other language in a direction neutral way and opens
the possibility for bidirectionality. Analogously, semantical objects can be
connected. Transformation properties like `equivalence' or `embedding' can
and must be expressed with constraints. Thus, the approach describes syntax
and semantics of the languages, their transformation and their properties in
a uniform way by means of metamodels.
(14 pages, gzipped PostScript: 192kb via
HTTP, uncompressed PostScript: 2076kb via
HTTP, PDF: 141kb via
HTTP)
- [Gogolla, 2011b]
- Martin Gogolla.
Runtime Monitoring of Java Bytecode with UML and OCL Models.
Dagstuhl Reports, 1(11):107-107, 2011.
Dagstuhl Seminar 11481: Models@run.time. Organized by Uwe Aßmann, Nelly
Bencomo, Betty H.C. Cheng, Robert B. France.
Implementations of object-oriented software usually contain a lot
of technical classes. Thus, the central parts of an application, e.g., the
business rules, may be hidden among peripheral functionality like
user-interface classes or classes managing persistence. Our approach makes
use of modern virtual machines and allows the developer to profile an
application in order to achieve an abstract monitoring and quality assurance
of central application components during runtime. We represent virtual
machine bytecode in form of a so-called platform-aligned model (PAM)
comprising OCL invariants and pre- and postconditions. We show a prototype
implementation as an extension of the UML and OCL tool USE.
- [Gogolla, 2011c]
- Martin
Gogolla.
UML and OCL in Conceptual Modeling.
In David W. Embley and Bernhard Thalheim, editors, Handbook of
Conceptual Modeling: Theory, Practice, and Research Challenges, pages
85-122. Springer, Berlin, 2011.
The development of the Entity-Relationship (ER) model is one of
the cornerstones for conceptual modeling of information systems. The Unified
Modeling Language (UML) and the Object Constraint Language (OCL) take up
central ideas from the ER model and put them into a broad software
development context by proposing various graphical sublanguages and diagrams
for specialized software development tasks and by adding more precision
through textual constraints. The first section of this contribution will
introduce the correspondence between basic ER modeling concepts and their UML
counterparts. The next part will explain how more advanced conceptual
modeling concepts can be formulated in UML. In the following section we will
use OCL for features not expressible in diagrammatic form. Then we turn to
the description of Relational databases with UML. Before we conclude, we will
show how to metamodel conceptual modeling features with UML itself and
discuss further relevant work from the literature.
(43 pages, PDF: 382kb via
HTTP)
- [Gogolla and Vallecillo, 2011]
- Martin
Gogolla and Antonio Vallecillo.
Tractable Model Transformation Testing.
In Robert France, Jochen M. Küster, Behzad Bordbar, and Richard F. Paige,
editors, Proc. 7th Int. Conf. Modelling Foundations and
Applications (ECMFA'2011), pages 221-235. Springer, Berlin,
LNCS 6698, 2011.
Model transformation (MT) testing is gaining interest as the size
and complexity of MTs grows. In general it is very difficult and expensive
(time and computational complexity-wise) to validate in full the correctness
of a MT. This paper presents a cost effective MT testing approach based on
the concept of Tract, which is a generalization of the concept of Model
Transformation Contract. A Tract defines a set of constraints on the source
and target metamodels, a set of source-target constraints, and a tract test
suite, i.e., a collection of source models satisfying the source constraints.
We automatically generate input test suite models, which are then transformed
into output models by the transformation under test, and the results checked
with the USE tool (UML-based Specification Environment) against the
constraints defined for the transformation. We show the different kinds of
tests that can be conducted over a MT using this automated process, and the
kinds of problems it can help uncovering.
(15 pages, gzipped PostScript: 381kb via
HTTP, uncompressed PostScript: 2476kb via
HTTP)
- [Gogolla and Wolff, 2011]
- Martin
Gogolla and Burkhart Wolff, editors.
Proc. 5th Int. Conf. Tests and Proofs (TAP'2011).
Springer, Berlin, LNCS 6706, 2011.
This book contains the papers accepted for the 5th International
Conference on Tests and Proofs (TAP'2011).
- [Gogolla et al., 2011]
- Martin Gogolla,
Lars Hamann, Jie Xu, and Jun Zhang.
Exploring (Meta-)Model Snapshots by Combining Visual and Textual Techniques.
In Fabio Gadducci and Leonardo Mariani, editors, Proc. Workshop Graph
Transformation and Visual Modeling Techniques (GTVMT'2011).
ECEASST, Electronic Communications,
journal.ub.tu-berlin.de/eceasst/issue/view/41, 2011.
One central task in software development by means of graph-based
techniques is to inspect and to query the underlying graph. Important issues
are, for example, to detect general graph properties like connectivity, to
explore more special features like the applicability of left-hand side rules
in graph transformations, or to validate snapshots of evolving systems by
checking properties in an on-the-fly way. We propose a new approach combining
visual and textual techniques for exploring graphs. We emphasize a particular
aspect of the underlying graph by showing or hiding nodes and edges. We offer
three different ways to explore (meta-)model snapshots which may be combined:
(1) selection by object identity and class membership, (2) selection by OCL
expression, and (3) selection by path length. One main motivation for our
work is to access large or complicated graphs in a systematic way. We
evaluate our approach by different middle-sized scenarios. Our evaluation
shows that the approach works for large graphs with about 1000 nodes and 2000
edges and for graphs which instantiate metamodels representing software
engineering artifacts.
(14 pages, gzipped PostScript: 858kb via
HTTP, uncompressed PostScript: 11489kb via
HTTP)
- [Hamann et al., 2011]
- Lars Hamann,
Martin Gogolla, and Mirco Kuhlmann.
OCL-Based Runtime Monitoring of JVM Hosted Applications.
In Jordi Cabot, Robert Clariso, Martin Gogolla, and Burkhart Wolff, editors,
Proc. Workshop OCL and Textual Modelling (OCL'2011).
ECEASST, Electronic Communications,
journal.ub.tu-berlin.de/eceasst/issue/view/56, 2011.
In this paper we present an approach that enables users to monitor
and verify the behavior of an application running on a virtual machine at the
model level. Concrete implementations of object-oriented software usually
contain a lot of technical classes. Thus, the central parts of an
application, e.g., the business rules, may be hidden among peripheral
functionality like user-interface classes or classes managing persistency.
Our approach makes use of modern virtual machines and allows the devloper to
profile an application in order to achieve an abstract monitoring and
verification of central application components. We represent virtual machine
bytecode in form of a so-called platform-aligned model (PAM) comprising OCL
invariants and pre- and postconditions. In contrast to related work, our
approach uses the original source or bytecode of the monitored application as
it stands and does not require any changes. We show a prototype
implementation as an extension of the UML and OCL tool USE. Also, we
investigate the impact of our approach to the execution time of a monitored
system.
(21 pages, gzipped PostScript: 5598kb via
HTTP, uncompressed PostScript: 39553kb via
HTTP, PDF: 2242kb via
HTTP)
- [Kuhlmann et al., 2011a]
- Mirco
Kuhlmann, Lars Hamann, and Martin Gogolla.
Extensive Validation of OCL Models by Integrating SAT Solving into USE.
In Judith Bishop and Antonio Vallecillo, editors, Proc. 49th Int. Conf.
Objects, Models, Components, and Patterns (TOOLS'2011), pages
289-305. Springer, Berlin, LNCS 6705, 2011.
The Object Constraint Language (OCL) substantially enriches
modeling languages like UML, MOF or EMF with respect to formulating
meaningful model properties. In model-centric approaches, an accurately
defined model is a requisite for further use. During development of a model,
continuous validation of properties and feedback to developers is required,
since many design flaws can then be directly discovered and corrected. For
this purpose, lightweight validation approaches which allow developers to
perform automatic model analysis are particularly helpful. We provide a new
method for efficiently searching for model instances. The existence or
non-existence of model instances with certain properties allows significant
conclusions about model properties. Our approach is based on the translation
of UML and OCL concepts into relational logic and its realization with SAT
solvers. We explain various use cases of our proposal, for example,
completion of partly defined model instances so that particular properties
hold in the completed model instances. Our proposal is realized by
integrating a model validator as a plugin into the UML and OCL tool
USE.
(17 pages, gzipped PostScript: 4669kb via
HTTP, uncompressed PostScript: 32144kb via
HTTP)
- [Kuhlmann et al., 2011b]
- Mirco
Kuhlmann, Karsten Sohr, and Martin Gogolla.
Comprehensive Two-Level Analysis of Static and Dynamic RBAC Constraints with
UML and OCL .
In Jongmoon Baik, Fabio Massacci, and Mohammad Zulkernine, editors,
Proc. Secure Software Integration and Reliability
Improvement (SSIRI'2011), pages 108-117. IEEE, 2011.
Organizations with stringent security requirements like banks or
hospitals frequently adopt role-based access control (RBAC) principles to
simplify their internal permission management. Authorization constraints
represent a fundamental advanced RBAC concept enabling precise restrictions
on access rights. Thereby, the complexity of the resulting security policies
increases so that tool support for comfortable creation and adequate
validation is required. We propose a new approach to developing and analyzing
RBAC policies using UML for modeling RBAC core concepts and OCL to realize
authorization constraints. Dynamic (i. e., time-dependent) constraints, their
visual representation in UML and their analysis are of special interest. The
approach results in a domain-specific language for RBAC which is highly
configurable and extendable with respect to new RBAC concepts and classes of
authorization constraints and allows the developer to validate RBAC policies
in an effective way. The approach is supported by a UML and OCL validation
tool.
(10 pages, gzipped PostScript: 433kb via
HTTP, uncompressed PostScript: 1232kb via
HTTP)
- [Bezivin et al., 2010]
- Jean
Bezivin, Robert France, Martin Gogolla, Oystein Haugen, Gabriele Taentzer,
and Daniel Varro.
Teaching Modeling: Why, When, What?
In Sudipto Ghosh, editor, Workshops and Symposia at 12th Int. Conf.
Model Driven Engineering Languages and Systems (MODELS'2009), pages
55-62. Springer, Berlin, LNCS 6002, 2010.
This paper reports on a panel discussion held during the
Educators' Symposium at MODELS'2009. It shortly explains the context provided
for the discussion and outlines the statements made by the panelists. The
panelists were asked to make their statements along a number of topics
relevant to teaching modeling like: Notation, Semantics, Programming,
Tooling, Suitability, Metamodeling.
(8 pages, gzipped PostScript: 76kb via
HTTP, uncompressed PostScript: 156kb via
HTTP)
- [Brüning et al., 2010]
- Jens
Brüning, Martin Gogolla, and Peter Forbrig.
Modeling and Formally Checking Workflow Properties Using UML and OCL.
In Peter Forbrig and Horst Günther, editors, Proc. 9th Int. Conf.
Perspectives in Business Informatics Research (BIR'2010), pages
130-145. Springer, Berlin, LNBIP 64, 2010.
In this paper, a new metamodel for workflows is described by using
UML. The underlying UML class diagram is formally extended with OCL pre- and
postconditions for operations and OCL invariants for system states. The
metamodel allows the developer to specify processes, activities in processes
and temporal relations between them. Known workflow patterns are formally
captured in the metamodel and sophisticated temporal relations between
activities can be expressed easily. Development of workflow models is
explained as well as process instantiation and process execution on the basis
of a tool realizing parts of the UML action semantics. Prototypical process
execution and animation allows the designer to discover properties of the
designed processes and activities in early phases of the development without
the need for building a full implementation.
(16 pages, gzipped PostScript: 542kb via
HTTP, uncompressed PostScript: 1915kb via
HTTP)
- [Büttner, 2010]
- Fabian Büttner.
Reusing OCL in the Definition of Imperative Languages.
PhD thesis, Universität Bremen, Fachbereich Mathematik und Informatik,
2010.
The Object Constraint Language (OCL) has proven to be a valuable
ingredient for the specification of UML modesl engineering. This paradigm
puts forward a necessity as well as a challenge of a formal foundation for
presenting precisely models and supporting automatic model manipulations.
This thesis focuses on a model-driven approach in which metamodeling and
model transformation are seen as the core of the approach. On the one hand,
metamodeling, which is a means for defining modeling languages, aims to
precisely present models for specific purposes. On the other hand, model
transformation is a robust approach for (1) transforming models from one
language into another language, (2) tackling the challenge how to choose a
right level of abstraction, and to relate levels of abstraction with each
other, and (3) supporting software evolution and maintenance. We propose an
integration of two light-weight formal methods, the Object Constraint
Language (OCL) and Triple Graph Grammars (TGGs), in order to form a core
foundation for the model-driven approach. TGGs incorporating OCL allow us to
explain relationships between models in precise way. On this foundation, we
develop a textual language in order to describe transformations and to
realize transformations. From such a declarative description of
transformations, we propose employing OCL in order to derive operational
scenarios for model transformation. This results in an OCL-based framework
for model transformation. This framework offers means for transformation
quality assurance such as verifying model transformations in an on-the-fly
way, checking well-formedness of models, and maintaining model consistency.
We explore case studies showing the practical applicability of our approach.
Especially, TGGs incorporating OCL allow us to describe the operation
semantics of use cases in a precise way. This approach on the one hand can be
broaden in order to describe the operational semantics of modeling languages.
On the other hand, it allows us to generate scenarios as test cases, to
validate system behavior, and to check the conformance between use case
models and design models. This supports basic constructions of an. It allows
to formulate logical propositions for models that typically cannot be
expressed in the visual modeling paradigms of UML. A similar textual
ingredient is required for the imperative specification of behavior in
certain applications of UML, most prominently Executable UML models and model
transformation. There is no such imperative language in the UML standard, but
there are several candidates for such a language that are based on OCL for
expressions. One of them is ImperativeOCL, which is part of the OMG Query,
Views, Transformations (QVT) standard. However, the embedding of OCL into
several of these languages is what we call a non-modular embedding. Such a
non-modular embedding results in problems w.r.t. to language semantics and/or
sets up obstacles for the reuse of existing OCL tools and instruments. In our
work we therefore define requirements for a modular embedding of OCL into an
imperative language. We introduce our language SOIL (Simple OCL-based
Imperative Language) which embeds OCL in a modular way. We provide an
informal description of SOIL as well as a formal definition of the language
syntax and semantics, and prove its consistency and type safety. We describe
applications of our approach in two fields: first, the extension of the
UML-based Specification Environment (USE) by an imperative language and,
second, the development of the model transformation tool XGenerator2 that has
been successfully applied in several eGovernment projects. Our work makes
three major contributions. First, we provide a critical review of the
embedding of OCL into existing programming languages. Second, we provide a
simple but already useful OCL-based imperative language with a sound and
formal semantics that can be implemented out of the box using existing OCL
engines. Third, our work contributes a general guideline for a safe embedding
of OCL into other languages.
- [Büttner et al., 2010]
- Fabian
Büttner, Martin Gogolla, Lars Hamann, Mirco Kuhlmann, and Arne Lindow.
On Better Understanding OCL Collections *or* An OCL Ordered Set is not an OCL
Set.
In Sudipto Ghosh, editor, Workshops and Symposia at 12th Int. Conf.
Model Driven Engineering Languages and Systems (MODELS'2009), pages
276-290. Springer, Berlin, LNCS 6002, 2010.
Modeling languages like UML or EMF support textual constraints
written in OCL. OCL allows the developer to use various collection kinds for
objects and values. OCL 1.4 knows sequences, sets, and bags, while OCL 2.0
adds ordered sets. We argue that this addition in the OCL standard was not
carried out in a careful way and worsened conceptional problems that were
already present previously. We discuss a new way of establishing the
connection between the various collection kinds on the basis of explicitly
highlighting and characterizing fundamental collection
properties.
(15 pages, gzipped PostScript: 287kb via
HTTP, uncompressed PostScript: 8140kb via
HTTP)
- [Cabot et al., 2010a]
- Jordi Cabot,
Joanna Chimiak-Opoka, Martin Gogolla, Frederic Jouault, and Alexander Knapp.
Ninth International Workshop on The Pragmatics of OCL and other textual
specification languages.
In Sudipto Ghosh, editor, Workshops and Symposia at 12th Int. Conf.
Model Driven Engineering Languages and Systems (MODELS'2009), pages
256-260. Springer, Berlin, LNCS 6002, 2010.
This paper reports on the 9th OCL workshop held at the MODELS
conference in 2009. The workshop focused on the challeges of using OCL in a
variety of new scenarios (e.g., model verification and validation, code
generation, test-driven development, transformations) and application domains
(e.g., domain-specific languages, web semantics) in which OCL is now being
used due to the increasing popularity of model-driven development processes
and the important role OCL play in them. The workshop included sessions with
paper presentations and a final round discussion.
(5 pages, gzipped PostScript: 74kb via
HTTP, uncompressed PostScript: 157kb via
HTTP)
- [Cabot et al., 2010b]
- Jordi Cabot,
Tony Clark, Manuel Clavel, and Martin Gogolla.
Tenth International Workshop on OCL and Textual Modelling.
In Jürgen Dingel and Arnor Solberg, editors, Workshops and Symposia
at 13th Int. Conf. Model Driven Engineering Languages and
Systems (MODELS'2010), pages 329-333. Springer, Berlin,
LNCS 6627, 2010.
This paper reports on the 10th OCL Workshop held at the MODELS
conference in 2010. The workshop's motivation was to bring together
researchers and practitioners in textual modelling standards, such as OCL, to
report advances in the field, to share results, to identify common areas and
potential for integration, and to identify common tools for developing
textual modelling languages, with a view to advancing the state-of-the art.
The workshop included sessions with paper presentations and a final
discussion session.
- [Dang et al., 2010a]
- Duc-Hanh Dang,
Anh-Hoang Truong, and Martin Gogolla.
Checking the Conformance between Models Based on Scenario Synchronization.
Journal of Universal Computer Science, Graz University of Technology,
Austria, 16(17):2293-2312, 2010.
Narrowing the wide conceptual gap between problem and
implementation domains is considered a significant factor within software
engineering. Currently, such a relation is often obtained using mappings
between metamodels for a structural semantics. This paper proposes an
approach based on the integration of Triple Graph Grammars (TGGs) and the
Object Constraint Language (OCL) in order to explain a behavioral relation
between models at different levels of abstraction. Triple rules incorporating
OCL allow us to synchronize execution scenarios of a system at two levels. In
this way we obtain an integrated operational semantics of the models as well
as the possibility for conformance verification between them. We illustrate
our approach with a case study for the relation between use case and design
models.
(20 pages, gzipped PostScript: 1149kb via
HTTP, uncompressed PostScript: 14447kb via
HTTP)
- [Dang et al., 2010b]
- Duc-Hanh Dang,
Anh-Hoang Truong, and Martin Gogolla.
On Scenario Synchronization.
In Ahmed Bouajjani and Wei-Ngan Chin, editors, Proc. 8th Int. Symp.
Automated Technology for Verification and Analysis (ATVA'2010), pages
97-111. Springer, Berlin, LNCS 6252, 2010.
In software development a system is often viewed by various models
at different levels of abstraction. It is very difficult to maintain the
consistency between them for both structural and behavioral semantics. This
paper focuses on a formal foundation for presenting scenarios and reasoning
the synchronization between them. We represent such a synchronization using a
transition system, where a state is viewed as a triple graph presenting the
connection of current scenarios, and a transition is defined as a triple
graph transformation rule. As a result, the conformance property can be
represented as a Computational Tree Logic (CTL) formula and checked by model
checkers. We define the transition system using our extension of UML activity
diagrams together with Triple Graph Grammars (TGGs) incorporating Object
Constraint Language (OCL). We illustrate the approach with a case study of
the relation between a use case model and a design model. The work is
realized using the USE tool.
(15 pages, gzipped PostScript: 356kb via
HTTP, uncompressed PostScript: 795kb via
HTTP, PDF: 479kb via
HTTP)
- [France and Gogolla,
2010]
- Robert France and Martin Gogolla.
Essentials of the 5th Educators' Symposium at MODELS 2009.
In Sudipto Ghosh, editor, Workshops and Symposia at 12th Int. Conf.
Model Driven Engineering Languages and Systems (MODELS'2009), pages
36-39. Springer, Berlin, LNCS 6002, 2010.
This paper reports on the Educators' Symposium held at the MODELS
2009 conference. It shortly explains motivation of the symposium, shows the
accepted papers of the symposium and mentions the people who have
contributed.
(4 pages, gzipped PostScript: 64kb via
HTTP, uncompressed PostScript: 129kb via
HTTP)
- [Gogolla et al., 2010]
- Martin Gogolla,
Lars Hamann, and Mirco Kuhlmann.
Proving and Visualizing OCL Invariant Independence by Automatically Generated
Test Cases.
In Gordon Fraser and Angelo Gargantini, editors, Proc. 4th Int. Conf.
Test and Proof (TAP'2010), pages 38-54. Springer, Berlin,
LNCS 6143, 2010.
Within model-driven development, class invariants play a central
role. An essential property of a collection of invariants is the independence
of each single invariant, i.e., the invariant at hand cannot be deduced from
the other invariants. The paper explains with three example models the
details of an approach for automatically proving and representing invariant
independence on the basis of a script constructing large test cases for the
underlying model. Analysis of invariant independence is visualized by means
of several diagrams like a `test configuration and result' diagram, an
`invariant dependence detail' diagram, and an `invariant dependence overview'
diagram. The paper also discusses how to build the test case construction
script in a systematic way. The test case construction script is written by
the model developer, but a general construction frame for the script is
outlined.
(17 pages, gzipped PostScript: 321kb via
HTTP, uncompressed PostScript: 6366kb via
HTTP)
- [Hamann and Gogolla, 2010]
- Lars Hamann
and Martin Gogolla.
Improving Model Quality by Validating Constraints with Model Unit Tests.
In Levi Lucio, Elisangela Vieira, and Stephan Weissleder, editors, Proc.
Workshop on Model-Driven Engineering, Verification, and
Validation (MODEVVA'2010), pages 49-55. IEEE, 2010.
(6 pages, PDF: 204kb via
HTTP)
- [Hamann et al., 2010]
- Lars
Hamann, Martin Gogolla, and Mirco Kuhlmann.
Zur Validierung von Kompositionsstrukturen in UML mit USE.
In Gregor Engels, Dimitris Karagiannis, and Heinrich C. Mayr, editors,
Proc. Modellierung (MODELLIERUNG'2010), pages 169-177.
Gesellschaft für Informatik, LNI P-161, 2010.
In der Softwareentwicklung rücken Modelle zunehmend in den
Focus des Entwicklungsprozesses. Dadurch steigen auch die Anforderungen an
deren Qualität. Mit dem an der Universität Bremen entwickelten
UML/OCL-Werkzeug USE können bereits bestimmte Qualitätsaspekte von
Modellen analysiert werden. Dieser Artikel beschreibt neue
Modellierungselemente der UML 2 und zeigt, welchen Beitrag eine
Weiterentwicklung von USE auf dem Weg zu einer integrierten Semantik der
UML 2 Kompositionsstrukturen leisten kann.
(9 pages, gzipped PostScript: 118kb via
HTTP, uncompressed PostScript: 3470kb via
HTTP)
- [Soeken et al., 2010]
- Mathias Soeken,
Robert Wille, Mirco Kuhlmann, Martin Gogolla, and Rolf Drechsler.
Verifying UML/OCL Models Using Boolean Satisfiability.
In Wolfgang Müller, editor, Proc. Design, Automation and Test in
Europe (DATE'2010). IEEE, 2010.
Nowadays, modeling languages like UML are essential in the design
of complex software systems and also start to enter the domain of hardware
and hardware/software codesign. Due to shortening time-to-market demands,
first-time-right requirements have thereby to be satisfied. In this paper, we
propose an approach that makes use of Boolean satisfiability for verifying
UML/OCL models. We describe how the respective components of a verification
problem, namely system states of a UML model, OCL constraints, and the actual
verification task, can be encoded and afterwards automatically solved using
an off-the-shelf SAT solver. Experiments show that our approach can solve
verification tasks significantly faster than previous methods while still
supporting a large variety of UML/OCL constructs.
(4 pages, gzipped PostScript: 88kb via
HTTP, uncompressed PostScript: 226kb via
HTTP)
- [Tratt and Gogolla, 2010]
- Laurence
Tratt and Martin Gogolla, editors.
Proc. 3rd Int. Conf. on Model Transformation (ICMT'2010).
Springer, Berlin, LNCS 6142, 2010.
This book contains the papers accepted for the 3rd International
Conference on Model Transformation (ICMT'2010).
- [Büttner and Kuhlmann,
2009]
- Fabian Büttner and Mirco Kuhlmann.
Shortcomings of the Embedding of OCL into QVT ImperativeOCL.
In Michel R.V. Chaudron, editor, Workshops and Symposia at 11th Int.
Conf. Model Driven Engineering Languages and Systems (MODELS'2008),
pages 263-272. Springer, Berlin, LNCS 5421, 2009.
MOF QVT introduces ImperativeOCL as an imperative language for
operational descriptions of model transformations (QVT operational mappings).
ImperativeOCL extends conventional OCL by expressions with side-effects. A
couple of semantical problems arise from the way OCL is embedded into
ImperativeOCL - imperative expressions are modelled as a subtype of OCL
expressions. This paper points out these semantical problems and proposes a
change to the operational mappings language of QVT that resolves these
problems, following an approach that reuses OCL by composition rather than by
inheritance in the abstract syntax of ImperativeOCL. The proposed change
reduces the complexity of the imperative language, removes undefinedness, and
leaves OCL conformant to its original definition.
(10 pages, gzipped PostScript: 550kb via
HTTP, uncompressed PostScript: 10798kb via
HTTP)
- [Cabot et al., 2009]
- Jordi Cabot, Martin
Gogolla, and Pieter Van Gorp.
Eighth International Workshop on OCL Concepts and Tools.
In Michel R.V. Chaudron, editor, Workshops and Symposia at 11th Int.
Conf. Model Driven Engineering Languages and Systems (MODELS'2008),
pages 257-262. Springer, Berlin, LNCS 5421, 2009.
This paper reports on the 8th OCL workshop held at the MODELS
conference in 2008. The workshop focussed on how to evaluate, compare and
select the right OCL tools for a given purpose and how to deal with the
expressiveness and complexity of OCL. The workshop included sessions with
paper presentations as well as a special tool demo session.
(6 pages, gzipped PostScript: 118kb via
HTTP, uncompressed PostScript: 286kb via
HTTP)
- [Dang, 2009]
- Duc-Hanh Dang.
On Integrating Triple Graph Grammars and OCL for Model-Driven
Development.
PhD thesis, Universität Bremen, Fachbereich Mathematik und Informatik,
2009.
Software systems become more and more complex. Despite significant
advances in code-centric technologies such as advanced programming languages
and integrated development environments (IDEs), developing complex software
systems is still a laborious task. Model-centric software development has
emerged as a promising paradigm, indicating a shift from ``code-centric'' to
``model-centric'' engineering. This paradigm puts forward a necessity as well
as a challenge of a formal foundation for presenting precisely models and
supporting automatic model manipulations. This thesis focuses on a
model-driven approach in which metamodeling and model transformation are seen
as the core of the approach. On the one hand, metamodeling, which is a means
for defining modeling languages, aims to precisely present models for
specific purposes. On the other hand, model transformation is a robust
approach for (1) transforming models from one language into another language,
(2) tackling the challenge how to choose a right level of abstraction, and to
relate levels of abstraction with each other, and (3) supporting software
evolution and maintenance. We propose an integration of two light-weight
formal methods, the Object Constraint Language (OCL) and Triple Graph
Grammars (TGGs), in order to form a core foundation for the model-driven
approach. TGGs incorporating OCL allow us to explain relationships between
models in precise way. On this foundation, we develop a textual language in
order to describe transformations and to realize transformations. From such a
declarative description of transformations, we propose employing OCL in order
to derive operational scenarios for model transformation. This results in an
OCL-based framework for model transformation. This framework offers means for
transformation quality assurance such as verifying model transformations in
an on-the-fly way, checking well-formedness of models, and maintaining model
consistency. We explore case studies showing the practical applicability of
our approach. Especially, TGGs incorporating OCL allow us to describe the
operation semantics of use cases in a precise way. This approach on the one
hand can be broaden in order to describe the operational semantics of
modeling languages. On the other hand, it allows us to generate scenarios as
test cases, to validate system behavior, and to check the conformance between
use case models and design models. This supports basic constructions of an
automatic and semi-automatic design.
- [Dang and Gogolla, 2009a]
- Duc-Hanh Dang
and Martin Gogolla.
On Integrating OCL and Triple Graph Grammars.
In Michel R.V. Chaudron, editor, Workshops and Symposia at 11th Int.
Conf. Model Driven Engineering Languages and Systems (MODELS'2008),
pages 124-137. Springer, Berlin, LNCS 5421, 2009.
Triple Graph Grammars (TGGs) tend to be a promising approach for
explaining relationships between models in general, and model co-evolution
and model consistency within model-driven development in particular.
Declarative TGG descriptions can be translated into operational scenarios for
model integration, model synchronization, and model transformation. To
realize such scenarios, restrictions formulated with the Object Constraint
Language (OCL) are an important factor. How to integrate TGGs and OCL is a
topic of ongoing research activities. There are strong similarities between
the result of such an integration and the Queries, Views and Transformations
(QVT) standard of the Object Management Group (OMG). We propose a language
for this integration: One part of this language has a one-one mapping to TGGs
and the remaining part covers OCL concepts. The language is realized in our
tool UML-based Specification Environment (USE) by taking two views on
operations derived from TGG rules: Declarative OCL pre- and postconditions
are employed as operation contracts, and imperative command sequences are
taken as an operational realization. USE offers full OCL support for
restricting models and metamodels with invariants, for checking pre- and
postconditions of operations as well as for validating and animating
transformation operations. Our approach covers a complete realization of TGGs
incorporating OCL within our tool USE.
(13 pages, gzipped PostScript: 5555kb via
HTTP, uncompressed PostScript: 21481kb via
HTTP)
- [Dang and Gogolla, 2009b]
- Duc-Hanh Dang and
Martin Gogolla.
Precise Model-Driven Transformations Based on Graphs and Metamodels.
In Dang Van Hung and Padmanabhan Krishnan, editors, Proc. 7th IEEE Int.
Conf. Software Engineering and Formal Methods (SEFM 2009), pages
307-316. IEEE, 2009.
Presenting precisely models and supporting automatic manipulation
of models are at the heart of model-centric software development. A formal
foundation for these tasks is a necessity as well as a challenge. We present
a model-driven approach based on the integration of two light-weight formal
methods, the Object Constraint Language (OCL) and Triple Graph Grammars
(TGGs). OCL together with metamodeling allows us to present precisely models.
With TGGs we can carry out model manipulations, especially model
transformations. We focus on explaining the tool which realizes our approach.
This tool is developed as an extension of the UML-based Specification
Environment (USE), which offers full OCL support. A case study showing the
transformation between statecharts and extended hierarchical automata
explains our approach.
(10 pages, gzipped PostScript: 497kb via
HTTP, uncompressed PostScript: 2639kb via
HTTP)
- [France and Gogolla, 2009]
- Robert
France and Martin Gogolla.
Educators' Symposium at MODELS 2009.
In Andy Schürr and Bran Selic, editors, Proc. 11th Int. Conf. Model
Driven Engineering Languages and Systems (MoDELS'2008), pages
753-754. Springer, Berlin, LNCS 5795, 2009.
The Educator's Symposium at the MODELS conference, the premier
conference devoted to the topic of model-driven engineering of software-based
systems, is intended as a forum in which educators and trainers can meet to
discuss pedagogy, use of technology in the classroom, and share their
experience pertaining to teaching modeling techniques and model-driven
development.
(2 pages, gzipped PostScript: 33kb via
HTTP, uncompressed PostScript: 76kb via
HTTP)
- [Gogolla, 2009a]
- Martin Gogolla.
Object Constraint Language.
In Ling Liu and M. Tamer Öszu, editors, Encyclopedia of Database
Systems, pages 1927-1929. Springer, Berlin, 2009.
The Unified Modeling Language (UML) includes a textual language
called Object Constraint Language (OCL). OCL allows users to navigate in
class diagrams, to formulate queries, and to restrict class diagrams with
integrity constraints. Roughly speaking from a practical prespective, the OCL
may be viewed as an object-oriented version of the Structured Query
Language (SQL) originally developed for the Relational data model. Roughly
speaking from a theoretical perspective, OCL may be viewed as a variant of
first-order predicate logic with quantifiers on finite domains only. OCL has
a well-defined syntax and semantics.
- [Gogolla, 2009b]
- Martin Gogolla.
Towards Model Validation and Verification with SAT Techniques.
In Bernd Becker, Valeria Bertacoo, Rolf Drechsler, and Masahiro Fujita,
editors, Algorithms and Applications for Next Generation SAT
Solvers. IBFI, Schloss Dagstuhl, Germany, 2009.
Dagstuhl Seminar Proceedings 09461. 11 pages.
After sketching how system development and the UML (Unified
Modeling Language) and the OCL (Object Constraint Language) are related,
validation and verification with the tool USE (UML-based Specification
Environment) is demonstrated. As a more efficient alternative for
verification tasks, two approaches using SAT-based techniques are put
forward: First, a direct encoding of UML and OCL with Boolean variables and
propositional formulas, and second, an encoding employing an intermediate,
higher-level language (KODKOD, stongly connected to ALLOY). A number of
further, presently not realized verification and validation tasks and the
transformation of higher-level modeling concepts into simple UML/OCL models,
which are checkable with SAT-based techniques, are shortly discussed.
Finally, the potential of SAT-based techniques for model development is again
emphasized.
(11 pages, gzipped PostScript: 330kb via
HTTP, uncompressed PostScript: 4877kb via
HTTP)
- [Gogolla, 2009c]
- Martin Gogolla.
Unified Modeling Language.
In Ling Liu and M. Tamer Öszu, editors, Encyclopedia of Database
Systems, pages 3232-3239. Springer, Berlin, 2009.
The Unified Modeling Language (UML) is a graphical language for
visualizing, specifying, constructing, and documenting the artifacts of a
software-intensive system. The UML offers a standard way to write a system's
blueprints, including conceptual things such as business processes and system
functions as well as concrete things such as programming language statements,
database schemas, and reusable software components.
- [Gogolla et al., 2009]
- Martin Gogolla,
Mirco Kuhlmann, and Lars Hamann.
Consistency, Independence and Consequences in UML and OCL Models.
In Catherine Dubois, editor, Proc. 3rd Int. Conf. Test and
Proof (TAP'2009), pages 90-104. Springer, Berlin, LNCS 5668,
2009.
Properties in UML models are frequently formulated as OCL
invariants or OCL pre- and postconditions. The UML-based Specification
Environment (USE) supports validation and to a certain degree verification of
such properties. USE allows the developer to prove the consistency and
independence of invariants by building automatically generated test cases.
USE also assists the developer in checking consequences and making deductions
from invariants by automatically constructing a set of test cases in form of
model scenarios. Suspected deductions are either falsified by a counter test
case or are shown to be valid in a fixed finite search
space.
(16 pages, gzipped PostScript: 206kb via
HTTP, uncompressed PostScript: 2441kb via
HTTP)
- [Kuske et al., 2009]
- Sabine Kuske, Martin
Gogolla, Hans-Jörg Kreowski, and Paul Ziemann.
Towards an Integrated Graph-Based Semantics for UML.
Journal on Software and System Modeling, Springer DE,
8(3):403-422, 2009.
This paper shows how a central part of the Unified Modeling
Language UML can be integrated into a single visual semanticmodel. It
discusses UML models composed of class, object, state, sequence and
collaboration diagrams and presents an integrated semantics of these models.
As formal basis the theoretically well-founded area of graph transformation
is employed which supports a visual and rule-based transformation of UML
model states. For the translation of a UML model into a graph transformation
system the operations in class diagrams and the transitions in state diagrams
are associatedwith graph transformation rules that are then combined into one
system in order to obtain a single coherent semantic description. Operation
calls in sequence and collaboration diagrams can be associated with
applications of graph transformation rules in the constructed graph
transformation system so that valid sequence and collaboration diagrams
correspond to derivations, i.e., to sequences of graph transformation rule
applications. The main aim of this paper is to provide a formal framework
that supports visual simulation of integrated UML specifications in which
system states and state changes are modeled in a straighforward
way.
(19 pages, gzipped PostScript: 6533kb via
HTTP, uncompressed PostScript: 10475kb via
HTTP, PDF: 489kb via
HTTP)
- [Akehurst et al., 2008]
- Dave
Akehurst, Martin Gogolla, and Steffen Zschaler, editors.
Proc. OCL4ALL - Modelling Systems with OCL,
http://eceasst.cs.tu-berlin.de/index.php/eceasst/issue/archive, 2008.
Electronic Communications of the EASST, Vol. 9.
Satellite Events at the MoDELS'2007 Conference.
The requirements that the modelling community wants to see
supported by OCL now go far beyond its initial requirements. When OCL was
conceived it was designed as a language for supporting precise modelling. The
advent of the MDA (Model Driven Architecture) vision and the rapid acceptance
of MDE (Model Driven Engineering) approaches emphasize new application
domains (like Domain Specific Languages or Semantic Web). This increase in
new modelling languages causes a need for new OCL-like languages for systems
modelling, frequently developed as extensions to the original. As this year's
special focus, the OCL workshop recognised that OCL is used as a basis for
many text-based navigation languages. The workshop brought together the
community that defines these extensions in order to consolidate the
experiences, successes and failures involved in doing so. The workshop
discussed the potential for redesigning or at least restructuring the OCL
standard definition in order to better facilitate and support third-party
extensions to the language. The workshop aimed to look specifically at how to
apply the key software engineering principles of modularity and reuse to the
definition of OCL. The workshop was organized as a part of the MoDELS 2007
Conference in Nashville, Tennesee, USA. It continued the series of OCL
workshops held at previous UML/MoDELS conferences in York (2000), Toronto
(2001), San Francisco (2003), Lisbon (2004), Montego Bay (2005) and Genova
(2006). This EC-EASST volume contains improved papers of the papers already
published on-line. The workshop organizers are grateful to authors for their
effort to polish their papers. Last but not least, we are grateful to the
members of the Program Committee, the additional referees, all participants
of the workshop and to the EC-EASST editors for their
support.
- [Büttner et al., 2008]
- Fabian
Büttner, Mirco Kuhlmann, Martin Gogolla, Jens Dietrich, Frank Steimke,
Andre Pankratz, Alina Stosiek, and Alexander Salomon.
MDA Employed in a Joint eGovernment Strategy: An Experience Report.
In Terry Bailey, editor, Proc. 3rd ECMDA Workshop ``From Code Centric To
Model Centric Software Engineering'' (2008), http://www.esi.es/modelplex/c2m/program.php, 2008. European Software
Institute.
DOL (Deutschland OnLine, Germany online) is a joint eGovernment
strategy in Germany. Its objectives include the development of standards for
electronic data exchange between public authorities. To achieve this goal,
DOL projects are employing UML models, profiles, and tools: A cross-project
conceptual model and a profile for common core components are used to
harmonize the different domain specific models, and a further DOL specific
UML profile has been developed to attach data transmission details to the
domain specific models. The automated creation of data exchange
specifications from these platform-specific models is realised by an MDA tool
developed in DOL: The XGenerator allows the validation of UML models against
applied profiles by checking OCL constraints, and the XGenerator supports a
flexible, MDA based generation of XML Schema definitions, DocBook based
documentation, and WSDL descriptions. This paper reports on how UML profiles
and formal MDA techniques have been assembled into a reusable architecture
for the development of data exchange specifications.
(13 pages, gzipped PostScript: 289kb via
HTTP, uncompressed PostScript: 711kb via
HTTP)
- [Dang, 2008]
- Duc-Hanh Dang.
Triple Graph Grammars and OCL for Validating System Behavior.
In Hartmut Ehrig, Reiko Heckel, Grzegorz Rozenberg, and Gabriele Taentzer,
editors, Proc. 4th Int. Conf. Graph
Transformations (ICGT'2008), pages 481-483. Springer, Berlin,
LNCS 5214, 2008.
We propose an approach based on the integration of Triple Graph
Grammars (TGGs) and the Object Constraint Language (OCL) for checking the
conformance between use case and design models.
(3 pages, gzipped PostScript: 52kb via
HTTP, uncompressed PostScript: 106kb via
HTTP)
- [Gogolla, 2008a]
- Martin Gogolla.
On Horizontal and Vertical Relationships between Models.
In Uwe Aßmann, Jean Bézivin, Richard Paige, Bernhard Rumpe, and
Douglas C. Schmidt, editors, Perspectives Workshop: Model Engineering
of Complex Systems (MECS). IBFI, Schloss Dagstuhl, Germany, 2008.
Dagstuhl Seminar Proceedings 08331. 4 pages.
Detecting, modeling and managing relationships between models are
central tasks within model-driven engineering. By taking a simple view on
software development, we distinguish in a vertical dimension between
domain-specific models, core models, and executable models. A typical example
for a vertical relationship is the refinement relationship beween a core
model and an executable model. In the horizontal dimension, there may be
several so-called property models which have the task to validate or verify
particular properties of the core model. Software development coincides in
our view with model development, and therefore finding the right models and
their relationships is a crucial task.
(4 pages, gzipped PostScript: 107kb via
HTTP, uncompressed PostScript: 1544kb via
HTTP)
- [Gogolla, 2008b]
- Martin Gogolla.
Teaching Touchy Transformations.
In Michal Smialek, editor, MODELS Educators'
Symposium (EDUSYMP'2008), pages 13-25. Warsaw University,
ISBN 83-916444-8-0, 2008.
This paper reports on a teaching unit on model development and
model transformation. One example model is first developed and considered as
the source of various possible transformations. These transformations are
explained implicitly afterwards by showing the different target models
obtained by the transformations. The source model and the target models each
emphasize a particular aspect, and an appropriate teaching method is chosen
in order to communicate central ideas in a well-understandable way. The
chosen teaching methods stress active student participation in the
development of models and transformations.
(13 pages, gzipped PostScript: 167kb via
HTTP, uncompressed PostScript: 2235kb via
HTTP, PDF: 135kb via
HTTP)
- [Gogolla et al., 2008a]
- Martin
Gogolla, Fabian Büttner, and Duc-Hanh Dang.
From Graph Transformation to OCL using USE.
In Andy Schürr, Manfred Nagl, and Albert Zündorf, editors, Proc.
3rd Int. Workshop Applications of Graph Transformation with Industrial
Relevance (AGTIVE '07), pages 585-586. Springer, Berlin,
LNCS 5088, 2008.
With the tool USE, UML class diagrams with additional OCL
constraints can be validated and properties can be formally checked.
Constraints may be class invariants and operation pre- and postconditions.
USE builds system states with object diagrams and expresses system evolution
with operations employing basic state manipulations by creating and
destroying objects (nodes) and links (edges) and by modifying attributes. A
graph transformation system is expressed in USE by modeling the working graph
with an object diagram and by expressing the graph transformation rules with
operations modifying the working graph. These operations encapsulate an
executable sequence of basic state manipulations and are additionally
characterized by pre- and postconditions in which application conditions of
the graph transformation rules can be expressed. The graph transformation
rules are formulated in a special language permitting to describe left and
right hand side of rules as well as their application conditions. This
language is automatically translated into USE command sequences and OCL pre-
and postconditions. The rules may be executed interactively through operation
calls. The current working graph and its properties may be inspected on a
graphical user interface and through evaluation of OCL expressions, e.g., for
determining the rule redexes in the current working graph. Additionally, OCL
invariants may be used to restrict the permitted working
graphs.
(2 pages, gzipped PostScript: 104kb via
HTTP, uncompressed PostScript: 1693kb via
HTTP)
- [Gogolla et al., 2008b]
- Martin
Gogolla, Fabian Büttner, and Mirco Kuhlmann.
System Modeling with USE (UML-based Specification Environment).
Genie Logiciel (French Software Engineering Journal),
85:57-58, 2008.
ISSN 0295-6322.
The Unified Modeling Language (UML) is accepted today as an
important standard for developing software. UML tools however provide little
support for validating and checking models in early development phases. There
is also nearly no substantial support for the Object Constraint Language
(OCL). Therefore, our group works on an approach for the validation of UML
models and OCL constraints based on animation and certification. The USE tool
(UML-based Specification Environment) supports analysts, designers and
developers in executing UML models and checking OCL constraints and thus
enables them to employ model-driven techniques for software production. Our
group also applies OCL and USE in concrete projects. OCL and USE are employed
in DOL, a joint eGovernment strategy in Germany. The objectives of DOL
include standardisation of electronic data exchange between public agencies.
DOL is employing UML models, profiles, and tools: Reusable conceptual models
are provided, the UN/CEFACT profile for CoreComponents is used to ensure
correct derivation of models in concrete projects, and a further UML profile
(the XOEV profile) has been developed to attach data transmission details to
the conceptual models. The automated creation of data exchange specifications
is supported by the MDA tool XGenerator: It allows the validation of UML
models against their applied profiles using OCL constraints, and it supports
a flexible, MDA-based generation of XML Schema definitions, DocBook-based
documentation, and WSDL descriptions.
(3 pages, gzipped PostScript: 175kb via
HTTP, uncompressed PostScript: 528kb via
HTTP)
- [Gogolla et al., 2008c]
- Martin
Gogolla, Mirco Kuhlmann, and Fabian Büttner.
A Benchmark for OCL Engine Accuracy, Determinateness, and Efficiency.
In Krzysztof Czarnecki, editor, Proc. 11th Int. Conf. Model Driven
Engineering Languages and Systems (MoDELS'2008), pages 446-459.
Springer, Berlin, LNCS 5301, 2008.
The Object Constraint Language (OCL) is a central element in
modeling and transformation languages like UML, MOF, and QVT. Consequently
approaches for MDE (Model-Driven Engineering) depend on OCL. However, OCL is
present not only in these areas influenced by the OMG but also in the Eclipse
Modeling Framework (EMF). Thus the quality of OCL and its realization in
tools seems to be crucial for the success of model-driven development.
Surprisingly, up to now a benchmark for OCL to measure quality properties has
not been proposed. This paper puts forward in the first part the concepts of
a comprehensive OCL benchmark. Our benchmark covers (A) OCL engine accuracy
(e.g., for the undefined value and the use of variables), (B) OCL engine
determinateness properties (e.g., for the collection operations any and
flatten), and (C) OCL engine efficiency (for data type and user-defined
operations). In the second part, this paper empirically evaluates the
proposed benchmark concepts by examining a number of OCL tools. The paper
discusses several differences in handling particular OCL language features
and underspecifications in the OCL standard.
(15 pages, gzipped PostScript: 160kb via
HTTP, uncompressed PostScript: 423kb via
HTTP)
- [Kuhlmann and Gogolla, 2008a]
- Mirco
Kuhlmann and Martin Gogolla.
Analyzing Semantic Properties of OCL Operations by Uncovering Interoperational
Relationships.
Electronic Communications of the EASST,
http://eceasst.cs.tu-berlin.de/index.php/eceasst, 9, 2008.
UML/MoDELS Workshop on OCL (OCL4ALL'2007), 17 Pages.
The OCL (Object Constraint Language) as part of the UML (Unified
Modeling Language) is a rich language with different collection kinds (sets,
multi-sets, sequences) and a large variety of operations defined thereon.
Without negating the strong correlation between both fields we can say that
these operations have their origin partly in logic (like the operations
forAll and exists) and partly in computer science, in particular database
systems (like the operation select). Some of these operations may be
expressed in terms of other operations. This paper presents a systematic
study of relationships which hold between OCL features like the mentioned
operations. Apart from presenting the relationships between operations in a
conceptual way, the relationships are described by a formal metamodel
allowing systematic and computer supported access to the operation
relationships by querying an underlying formal description.
(18 pages, gzipped PostScript: 744kb via
HTTP, uncompressed PostScript: 4735kb via
HTTP)
- [Kuhlmann and Gogolla, 2008b]
- Mirco
Kuhlmann and Martin Gogolla.
Modeling and Validating Mondex Scenarios Described in UML and OCL with USE.
Journal on Formal Aspects of Computing, Springer, DE,
20(1):79-100, 2008.
This paper describes the Mondex case study with UML class diagrams
and restricting OCL constraints. The constraints have been formulated either
as OCL class invariants or as OCL pre- and postconditions. The proposed two
models include UML class diagrams and OCL constraints which have been checked
by the UML and OCL tool USE (UML-based Specification Environment). USE allows
validation of a model by testing it with scenarios. The Mondex case study has
been validated by positive and negative test cases. The test cases allow the
validity of the various constraints to be traced and checked. Validation
results are presented as textual protocols or as UML sequence diagrams where
starting, intermediate, and resulting system states are represented by UML
object diagrams. UML sequence diagrams, UML object diagrams, and textual
protocols are shown with varying degrees of detail for the attributes,
constraints, and executed commands.
(25 pages, gzipped PostScript: 726kb via
HTTP, uncompressed PostScript: 28464kb via
HTTP)
- [Mustafa et al., 2008]
- Tanveer Mustafa,
Karsten Sohr, Duc-Hanh Dang, Michael Drouineaud, and Stefan Kowski.
Implementing Advanced RBAC Administration Functionality with USE.
Electronic Communications of the EASST,
http://eceasst.cs.tu-berlin.de/index.php/eceasst, 15, 2008.
MoDELS Workshop on OCL (OCL Concepts and Tools 2008), 19 Pages.
Role-based access control (RBAC) is a powerful means for laying
out and developing higher-level organizational policies such as separation of
duty, and for simplifying the security management process. One of the
important aspects of RBAC is authorization constraints that express such
organizational policies. While RBAC has generated a great interest in the
security community, organizations still seek a flexible and effective
approach to impose role-based authorization constraints in their
security-critical applications. In particular, today often only basic RBAC
concepts have found their way into commercial RBAC products; specifically,
authorization constraints are not widely supported. In this paper, we present
an RBAC administration tool that can enforce certain kinds of role-based
authorization constraints such as separation of duty constraints. The
authorization constraint functionality is based upon the OCL validation tool
USE. We also describe our practical experience that we gained on integrating
OCL functionality into a prototype of an RBAC administration tool that shall
be extended to a product in the future.
(19 pages, gzipped PostScript: 790kb via
HTTP, uncompressed PostScript: 1980kb via
HTTP)
- [Sohr et al., 2008]
- Karsten Sohr, Michael
Drouineaud, Gail-Joon Ahn, and Martin Gogolla.
Analysing and Managing Role-Based Access Control Policies.
IEEE Transactions on Knowledge and Data Engineering,
20(7):924-939, 2008.
Published online 13 March 2008. DOI 10.1109/TKDE.2008.28.
Today more and more security-relevant data is stored on computer
systems; security-critical business processes are mapped to their digital
counterparts. This situation applies to various domains such as health care
industry, digital government, and financial service institutes requiring that
different security requirements must be fulfilled. Authorisation constraints
can help the policy architect design and express higher-level organisational
rules. Although the importance of authorisation constraints has been
addressed in the literature, there does not exist a systematic way to verify
and validate authorisation constraints. In this paper, we specify both
non-temporal and history-based authorisation constraints in the Object
Constraint Language (OCL) and first-order linear temporal logic (LTL). Based
upon these specifications, we attempt to formally verify role-based access
control policies with the help of a theorem prover and to validate policies
with the USE system, a validation tool for OCL constraints. We also describe
an authorisation engine, which supports the enforcement of authorisation
constraints.
(14 pages, gzipped PostScript: 5437kb via
HTTP, uncompressed PostScript: 24166kb via
HTTP, PDF: 475kb via
HTTP)
- [Varro et al., 2008]
- Daniel Varro, Mark
Asztalos, Denes Bisztray, Artur Boronat, Duc-Hanh Dang, Rubino Geiss, Joel
Greenyer, Pieter Van Gorp, Ole Kniemeyer, Anantha Narayanan, Edgars Rencis,
and Erhard Weinell.
Transformation of UML Models to CSP: A Case Study for Graph Transformation
Tools.
In Andy Schürr, Manfred Nagl, and Albert Zündorf, editors, Proc.
3rd Int. Workshop Applications of Graph Transformation with Industrial
Relevance (AGTIVE '07), pages 540-565. Springer, Berlin,
LNCS 5088, 2008.
Graph transformation provides an intuitive mechanism for capturing
model transformations. In the current paper, we investigate and compare
various graph transformation tools using a compact practical model
transformation case study carried out as part of the AGTIVE 2007 Tool
Contest. The aim of this case study is to generate formal CSP processes from
high-level UML activity diagrams, which enables to carry out mathematical
analysis of the system under design.
(26 pages, gzipped PostScript: 1011kb via
HTTP, uncompressed PostScript: 17896kb via
HTTP, PDF: 645kb via
HTTP)
- [Akehurst et al., 2007]
- Dave Akehurst,
Martin Gogolla, and Steffen Zschaler.
OCL4ALL - Modelling Systems with OCL.
In Holger Giese, editor, Satellite Events at the MoDELS'2007
Conference, pages 176-181. Springer, Berlin, LNCS 5002, 2007.
This year's OCL workshop at the MODELS conference looked out to
usages of OCL outside the direct context of UML or beyond the capabilities of
standard OCL. It was a very interesting and successful workshop, which apart
from the presentation of 10 papers a lively discussion on various topics
surround current usage of OCL was held. Six main topics recurred throughout
the discussions: (1) Means and uses of transformation to other languages,
(2) Support for side-effects and executability, (3) Continuing need for OCL,
(4) Providing extensions to the standard, (5) Platform independence of the
language, (6) Formality of the language. This summary report presents the
results of the workshop and the discussions.
(6 pages, gzipped PostScript: 79kb via
HTTP, uncompressed PostScript: 157kb via
HTTP)
- [Dang, 2007]
- Duc-Hanh Dang.
Validation of System Behavior from an Integrated Semantics of Use Case and
Design Models.
In Claudia Pons, editor, Proc. Doctoral Symposium ACM/IEEE 10th Int.
Conf. Model-Driven Engineering Languages and Systems,
http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/, 2007. CEUR
Workshop Proceedings, Vol. 262.
5 pages.
This paper summarizes an approach how to specify use cases and how
to solve the problem of validating the conformance between the use case model
and the design model. An integrated semantics of the two models is proposed.
We employ UML- and OCL-based techniques as well as ideas from graph
transformation. This research contributes to model transformation within the
area of Model Driven Development (MDD).
(5 pages, gzipped PostScript: 86kb via
HTTP, uncompressed PostScript: 181kb via
HTTP)
- [Gogolla, 2007]
- Martin Gogolla.
Model Development in the UML-based Specification Environment (USE).
In Ed Brinksma, David Harel, Angelika Mader, Perdita Stevens, and Roel
Wieringa, editors, Methods for Modelling Software Systems
(MMOSS). IBFI, Schloss Dagstuhl, Germany, 2007.
Dagstuhl Seminar Proceedings 06351. 3 pages.
The tool USE (UML-based Specification Environment) supports
analysts, designers, and developers in executing UML models and checking OCL
constraints and thus enables them to employ model-driven techniques for
software production. USE has been developed since 1998 at the University of
Bremen. This paper will shortly discuss to what extent and how USE relates to
the selected questions and topics (like model quality or modelling method)
raised for this seminar.
(3 pages, gzipped PostScript: 60kb via
HTTP, uncompressed PostScript: 122kb via
HTTP)
- [Gogolla et al., 2007]
- Martin Gogolla,
Fabian Büttner, and Mark Richters.
USE: A UML-Based Specification Environment for Validating UML and OCL.
Journal on Science of Computer Programming, Elsevier NL,
69:27-34, 2007.
The Unified Modeling Language (UML) is accepted today as an
important standard for developing software. UML tools however provide little
support for validating and checking models in early development phases. There
is also no substantial support for the Object Constraint Language (OCL). We
present an approach for the validation of UML models and OCL constraints
based on animation and certification. The USE tool (UML-based Specification
Environment) supports analysts, designers and developers in executing UML
models and checking OCL constraints and thus enables them to employ
model-driven techniques for software production.
(12 pages, gzipped PostScript: 196kb via
HTTP, uncompressed PostScript: 3118kb via
HTTP, PDF: 365kb via
HTTP)
- [Bezivin et al., 2006]
- Jean Bezivin,
Fabian Büttner, Martin Gogolla, Frederic Jouault, Ivan Kurtev, and Arne
Lindow.
Model Transformations? Transformation Models!
In Oscar Nierstrasz, Jon Whittle, David Harel, and Gianna Reggio, editors,
Proc. 9th Int. Conf. Model Driven Engineering Languages and
Systems (MoDELS'2006). Springer, Berlin, LNCS 4199, 2006.
Much of the current work on model transformations seems
essentially operational and executable in nature. Executable descriptions are
necessary from the point of view of implementation. But from a conceptual
point of view, transformations can also be viewed as descriptive models by
stating only the properties a transformation has to fulfill and by omitting
execution details. This contribution discusses the view that model
transformations can be abstracted as being transformation models. As a simple
example for a transformation model, the well-known transformation from the
Entity-Relationship model to the Relational model is shown. A transformation
model in this contribution is nothing more than an ordinary, simple model,
i.e., a UML/MOF class diagram together with OCL constraints. A transformation
model may transport syntax and semantics of the described domain. The
contribution thus covers two views on transformations: An operational model
transformation view and a descriptive transformation model
view.
(15 pages, gzipped PostScript: 330kb via
HTTP, uncompressed PostScript: 7278kb via
HTTP)
- [Büttner and Bauerdick,
2006]
- Fabian Büttner and Hanna Bauerdick.
Realizing UML Model Transformations with USE.
In Dan Chiorean, Birgit Demuth, Martin Gogolla, and Jos Warmer, editors,
UML/MoDELS Workshop on OCL (OCLApps'2006), pages 96-110.
Technical University of Dresden, Technical Report TUD-FI06, 2006.
The USE (UML-based Specification Environment) tool has been
successfully applied for model validation in the past. In our current work,
we are enriching the USE specification language with imperative elements. We
employ this extension as an assembler to realize UML model (class diagram)
transformations with USE in a flexible way: UML transformations are described
using a custom abstract language based on object diagram-like patterns. These
descriptions are automatically translated into the imperative USE extensions.
Our approach aims to provide a flexible instrument to experiment with
different transformations and transformation formalisms.
(16 pages, gzipped PostScript: 131kb via
HTTP, uncompressed PostScript: 421kb via
HTTP)
- [Büttner and Gogolla, 2006]
- Fabian
Büttner and Martin Gogolla.
Realizing Graph Transformations by Pre- and Postconditions and Command
Sequences.
In Andrea Corradini, Hartmut Ehrig, Ugo Montanari, Leila Ribeiro, and Gregorz
Rozenberg, editors, Proc. 3rd Int. Conf. Graph
Transformations (ICGT'2006), pages 398-412. Springer, Berlin,
LNCS 4178, 2006.
This paper studies two realizations of graph transformations which
are based on a UML class diagram. The first realization achieves a
representation in terms of descriptive pre- and postconditions. The second
one yields an operationally executable command sequence in terms of basic
commands for object and link creation, attribute modification, and object and
link destruction. Our aim for realizing graph transformations in terms of
target languages offering different views, i.e., descriptive or operational,
is to take advantage of both views and to utilize the benefits which both
views provide.
(15 pages, gzipped PostScript: 200kb via
HTTP, uncompressed PostScript: 2004kb via
HTTP)
- [Chiorean et al., 2006a]
- Dan Chiorean,
Birgit Demuth, Martin Gogolla, and Jos Warmer.
OCL for (Meta-)Models in Multiple Application Domains.
In Thomas Kühne, editor, Satellite Events at the MoDELS'2006
Conference, pages 152-158. Springer, Berlin, LNCS 4364, 2006.
The workshop OCLApps 2006 was organized as a part of MoDELS/UML
Conference in Genova, Italy. It continues the series of five OCL (Object
Constraint Language) workshops held at previous UML/MoDELS conferences
between 2000-2005. Similar to its predecessors, the workshop addressed both
people from academia and industry. The advent of the MDA (Model Driven
Architecture) vision and the rapid acceptance of MDE (Model Driven
Engineering) approaches emphasize new application domains (like Semantic Web
or Domain Specific Languages) and call for new OCL functionalities. In this
context, the OCLApps 2006 Workshop, was conceived as a forum enabling
researchers and industry experts to present and debate how the OCL could
support these new requirements.
(6 pages, gzipped PostScript: 90kb via
HTTP, uncompressed PostScript: 185kb via
HTTP)
- [Chiorean et al., 2006b]
- Dan
Chiorean, Birgit Demuth, Martin Gogolla, and Jos Warmer, editors.
Proc. OCL for (Meta-)Models in Multiple Application Domains,
http://eceasst.cs.tu-berlin.de/index.php/eceasst/issue/archive, 2006.
Electronic Communications of the EASST, Vol. 5.
Satellite Events at the MoDELS'2006 Conference.
Conceived as a formalism meant to support unambiguous and detailed
modeling using UML (Unified Modeling Language), OCL (Object Constraint
Language) needs adaptation to changes expressed in the modeling community.
The requirements that the modelers want to see supported today by OCL go far
beyond its initial requirements. The advent of the MDA (Model Driven
Architecture) vision and the rapid acceptance of MDE (Model Driven
Engineering) approaches emphasize new application domains (like Semantic Web
or Domain Specific Languages) and call for new OCL functionalities. Apart
from the requirements asked by application domains, technologies, visions and
paradigms used in modeling, the formalisms and techniques currently used have
to support development of large scale applications. Therefore, efficiency
represents another important feature that tools supporting OCL must provide.
The OCL is required to ensure a fine balance between the use of language in
specifying models realized in early life-cycle phases and the rigor asked by
the strong relationship with formal languages. Fixing ambiguities reported
from the OCL specification without affecting the above mentioned balance is
also important. Today, promoting OCL needs a conjoint support from both the
research community and the industry. The main target of the OCLApps 2006
Workshop was to organize a debate forum joining people from research and
industry able to present an updated state of the art in this domain, to
contribute to the OCL dissemination and use. The workshop was organized as a
part of MoDELS/UML 2006 Conference in Genova - Italy, continuing the series
of OCL workshops held at previous UML/MoDELS conferences in: York (2000),
Toronto (2001), San Francisco (2003), Lisbon (2004) and Montego Bay
(2005).
- [Hölscher et al., 2006]
- Karsten
Hölscher, Paul Ziemann, and Martin Gogolla.
On Translating UML Models into Graph Transformation Systems.
Journal of Visual Languages and Computing, Elsevier, NL,
17(1):78-105, 2006.
In this paper we present a concept of a rigorous approach that
provides a formal semantics for a fundamental subset of UML. This semantics
is derived by translating a given UML model into a graph transformation
system, allowing modelers to actually execute their UML model. The graph
transformation system comprises graph transformation rules and a working
graph which represents the current state of the modeled system. In order to
support UML models which use OCL, we introduce a specific graph
transformation approach that incorporates full OCL in the common UML fashion.
The considered UML subset is defined by means of a metamodel similar to the
UML 1.5 metamodel. The concept of a system state that represents the state of
the system at a specific point in time during execution is likewise
introduced by means of a metamodel. The simulated system run is performed by
applying graph transformation rules on the working graph. The approach has
been implemented in a research prototype which allows the modeler to execute
the specified model and to validate the basic aspects of the model in an
early software development phase.
(30 pages, gzipped PostScript: 528kb via
HTTP, uncompressed PostScript: 4842kb via
HTTP, PDF: 441kb via
HTTP)
- [Mwatawala et al., 2006]
- Maulid W.
Mwatawala, Arne Lindow, Martin Gogolla, and Marc De Meyer.
Employing the Unified Modeling Language (UML) and Relational Modeling Concepts
for the Development of a Schema for Fruit Flies.
In Eyas El-Qawasmeh, editor, Proc. 4th Int. Multiconference on Computer
Science and Information Technology (CSIT'2006). Applied Science
University (ASU), Amman, Jordan, 2006.
This paper is about the analysis, conceptual design, and
implementation of a fruit fly database containing information about fruit
flies of Morogoro Tanzania, their description, host range, infestation levels
in different fruits and the proposed management techniques. The analysis and
design of the database is described with Unified Modeling Language, Entity
Relationship diagrams, Extended Entity Relationship diagrams and tabular
views of relational model. So this paper is an example of a practical and
useful application of Information and Communication Technology in solving a
pest problem in a developing country, whose economy is largely dependent on
agriculture.
(12 pages, gzipped PostScript: 482kb via
HTTP, uncompressed PostScript: 2505kb via
HTTP)
- [Vidacs et al., 2006]
- Laszlo Vidacs,
Martin Gogolla, and Rudolf Ferenc.
From C++ Refactorings to Graph Transformations.
In Jean-Marie Favre, Reiko Heckel, and Tom Mens, editors, Proc.
ICGT'2006 Workshop Software Evolution and
Transformation (SETRA'2006), pages 127-141. Electronic
Communications of EASST (European Association of Software Science and
Technology), 2006.
In this paper, we study a metamodel for the C++ programming
language. We work out refactorings on the C++ metamodel and present the
essentials as graph transformations. The refactorings are demonstrated in
terms of the C++ source code and the C++ target code as well. Graph
transformations allow to capture refactoring details on a conceptual and easy
to understand, but also very precise level. Using this approach we managed to
formalize two major aspects of refactorings: the structural changes and the
preconditions.
(15 pages, gzipped PostScript: 1644kb via
HTTP, uncompressed PostScript: 12636kb via
HTTP)
- [Baar et al., 2005]
- Thomas Baar, Dan
Chiorean, Alexandre Correa, Martin Gogolla, Heinrich Hußmann, Octavian
Patrascoiu, Peter H. Schmitt, and Jos Warmer.
Tool Support for OCL and Related Formalisms - Needs and Trends.
In Jean-Michel Bruel, editor, Satellite Events at the MoDELS'2005
Conference, pages 1-9. Springer, Berlin, LNCS 3844, 2005.
The recent trend in software engineering to model-centered
methodologies is an excellent opportunity for OCL to become a widely used
specification language. If the focus of the development activities is shifted
from implementation code to more abstract models then software developers
need a formalism to provide a complete, unambiguous and consistent model at a
very detailed level. OCL is currently the only language that can bring this
level of detail to UML models. The purpose of the workshop was to identify
future challenges for OCL and to discuss how OCL and its current tool support
can be improved to meet these challenges. The workshop gathered numerous
experts from academia and industry to report on success stories, to formulate
wishes to the next generation of OCL tools, and to identify weaknesses in the
language, which make OCL sometimes cumbersome to use. The workshop could also
attract numerous people whose aim was to get an overview on the state of the
art of OCL tool support and on how OCL can efficiently be applied in
practice.
(9 pages, gzipped PostScript: 112kb via
HTTP, uncompressed PostScript: 227kb via
HTTP, PDF: 129kb via
HTTP)
- [Büttner, 2005]
- Fabian
Büttner.
Transformation-Based Structure Model Evolution.
In Jean-Michel Bruel, editor, Satellite Events at the MoDELS'2005
Conference, pages 339-340. Springer, Berlin, LNCS 3844, 2005.
This paper summarizes an approach to support evolution of software
models by means of a transformation catalogue. These transformations treat
UML class diagram models, OCL constraints, and existing states of the models
in a coherent and consistent way. By implementing the catalogue in the UML
tool USE, we effectively support developers in an iterative and incremental
process for model development.
(5 pages, gzipped PostScript: 19kb via
HTTP, uncompressed PostScript: 67kb via
HTTP)
- [Büttner et al., 2005]
- Fabian
Büttner, Hanna Bauerdick, and Martin Gogolla.
Towards Transformation of Integrity Constraints and Database States.
In Danielle C. Martin, editor, Proc. Dexa'2005 Workshop Logical Aspects
and Applications of Integrity Constraints (LAAIC'2005), pages
823-828. IEEE, Los Alamitos, 2005.
This paper discusses integrity constraint evolution, from two
perspectives: From the perspective of changing the constraint, and from the
perspective of consequently changing an existing database state. The paper
concentrates on structural models provided by UML class diagrams and OCL
invariant constraints. We discuss how changes in association multiplicities
can be extended to further integrity constraints attached to a class diagram
and how these changes interact with given database states.
(6 pages, gzipped PostScript: 57kb via
HTTP, uncompressed PostScript: 190kb via
HTTP)
- [Czarnecki et al., 2005]
- Krzysztof
Czarnecki, Jean-Marie Favre, Martin Gogolla, and Tom Mens.
Essentials of the 4th UML/MoDELS Workshop in Software Model
Engineering (WiSME'2005).
In Jean-Michel Bruel, editor, Satellite Events at the MoDELS'2005
Conference, pages 151-159. Springer, Berlin, LNCS 3844, 2005.
Model-Driven Engineering is a form of generative engineering, by
which all or at least central parts of a software application are generated
from models. Model Driven Engineering should be seen as an integrative
approach combining existing software engineering techniques (e.g., testing
and refinement) and technical spaces (e.g., 'ModelWare', 'XmlWare') that have
usually been studied in separation. The goal of the workshop is to improve
common understanding of these techniques across technical spaces and create
bridges and increase the synergies among the spaces. This year's WiSME
workshop will concentrate on two complementing themes: Bridging Technical
Spaces and Model-Driven Evolution. This paper reports on a workshop held at
the 8th UML/MoDELS conference. It describes motivation and aims,
organisational issues, and abstracts of the accepted papers.
(9 pages, gzipped PostScript: 39kb via
HTTP, uncompressed PostScript: 95kb via
HTTP)
- [Ermel et al., 2005]
- Claudia Ermel,
Karsten Hölscher, Sabine Kuske, and Paul Ziemann.
Animated Simulation of Integrated UML Behavioral Models Based on Graph
Transformation.
In IEEE, editor, Proc. IEEE Symposium Visual Languages and Human-Centric
Computing (VL/HCC'05), pages 125-133, 2005.
This paper shows how integrated UML models combining class,
object, use-case, collaboration and state diagrams can be animated in a
domain-specific layout. The presented approach is based on graph
transformation, i.e. UML model diagrams are translated to a graph
transformation system and the behavior of the integrated model is simulated
by applications of graph transformation rules. For model validation, users
may prefer to see the behavior of selected model aspects as scenarios
presented in the layout of the application domain. We propose to integrate
animation views with the model.s graph transformation system. A prototypical
validation system has been implemented recently supporting the automatic
translation of a UML model into a graph transformation system, and the
interactive execution and simulation of the model behavior. We sketch the
tool interconnection to GenGED, a visual language environment which allows to
enrich graph transformation systems for model simulation by features for
animation.
(9 pages, gzipped PostScript: 374kb via
HTTP, uncompressed PostScript: 948kb via
HTTP, PDF: 206kb via
HTTP)
- [Gogolla, 2005a]
- Martin Gogolla.
Exploring ER and RE Syntax and Semantics with Metamodel Object Diagrams.
In Peter J. Nürnberg, editor, ACM Int. Conf. Proceeding
Series (Vol. 214), Proc. Metainformatics Symposium (MIS'2005). ACM
Press, New York, 2005.
ACM Digital Library, 12 pages.
This paper explains how a metamodel transformation between two
well-known database models work: Entity-Relationship (ER) database schemas
are transformed into Relational (RE) database schemas hand in hand with the
transformation of ER states into Relational states. The schemas determine the
syntax of the datamodels, and the set of associated states fix the semantics
of the datamodels. Often, when database models are considered, one formally
only treats syntactical aspects, i.e., schemas, and handles the semantics,
i.e., states, merely informally. Our approach formally handles syntax and
semantics of database models and their transformation within a single,
uniform framework. The approach thus precisely describes properties of the
datamodels and properties of the transformation. Our metamodel
transformations do not simply convert ER schemas into Relational schemas, but
they respect the semantics in a formal way and they can also be used the
other way round in order to transfrom Relational schemas into ER ones. This
opens the approach for re-engineering as well.
(12 pages, gzipped PostScript: 223kb via
HTTP, uncompressed PostScript: 1000kb via
HTTP)
- [Gogolla, 2005b]
- Martin Gogolla.
Tales of ER and RE Syntax and Semantics.
In James R. Cordy, Ralf Lämmel, and Andreas Winter, editors,
Transformation Techniques in Software Engineering. IBFI,
Schloss Dagstuhl, Germany, 2005.
Dagstuhl Seminar Proceedings 05161. 51 pages.
This paper explains how four model transformations between
database models work: (1) An ER (Entity-Relationship) database schema is
transformed into a collection of ER database states, (2) a RE (Relational)
database schema into a collection of RE database states, (3) an ER database
schema into a RE database schema, and (4) a collection of ER database states
into a collection of RE database states. These four separate transformations
may be viewed as a single transformation between the ER datamodel and the RE
datamodel. The schemas are regarded as determining the syntax of the
datamodels, and the set of associated states is regarded as being the
semantics of the datamodels, because the states associate meaning with the
schemas. When one usually considers database models, one formally only treats
syntactical aspects, i.e., schemas, and handles the semantics merely
informally. Our approach allows to formally handle syntax and semantics of
database models and their transformation within a single and uniform
framework. The approach thus allows to precisely describe properties of the
datamodels and properties of the transformation. The method behind our
approach is to divide a language into a syntax and semantics part and to
describe a transformation between two languages as a direction-neutral
affair. Formal properties of the languages to be transformed and formal
properties of the transformation are described uniformly. Transformation
properties can be properties regarding syntax and semantics. The method can
be applied not only to database languages but to transformations between
common computer science languages.
(51 pages, gzipped PostScript: 339kb via
HTTP, uncompressed PostScript: 1582kb via
HTTP)
- [Gogolla et al., 2005a]
- Martin Gogolla,
Jörn Bohling, and Mark Richters.
Validating UML and OCL Models in USE by Automatic Snapshot Generation.
Journal on Software and System Modeling, Springer, DE,
4(4):386-398, 2005.
The paper studies the testing and certification of UML and OCL
models as supported by the validation tool USE. We extend the available USE
features by introducing a language for defining properties of desired
snapshots and by showing how such snapshots are generated. Within the
approach, it is possible to treat test cases and validation cases. Test cases
show that snapshots having desired properties can be constructed. Validation
cases show that given properties are consequences of the original UML and OCL
model. We sketch the underlying language features and indicate how to give a
formal interpretation for them.
(24 pages, gzipped PostScript: 249kb via
HTTP, uncompressed PostScript: 731kb via
HTTP)
- [Gogolla et al., 2005b]
- Martin Gogolla,
Jean-Marie Favre, and Fabian Büttner.
On Squeezing M0, M1, M2, and M3 into a Single Object Diagram.
In Thomas Baar, Dan Chiorean, Alexandre Correa, Martin Gogolla, Heinrich
Hußmann, Octavian Patrascoiu, Peter H. Schmitt, and Jos Warmer, editors,
Proc. MoDELS'2005 Workshop Tool Support for OCL and Related
Formalisms. In: Satellite Events at MoDELS'2005 Conference.
Jean-Michel Bruel (Ed.). Springer, Berlin, LNCS 3844. Long Version:
EPFL (Switzerland), Technical Report LGL-REPORT-2005-001, 2005.
We propose an approach for the integrated description of a
metamodel and its formal relationship to its models and the model
instantiations. The central idea is to use so-called layered graphs
permitting to describe type graphs and instance graphs. A type graph can
describe a collection of types and their relationships whereas an instance
graph can represent instances belonging to the types and respecting the
relationships required by the type graph. Type graphs and instance graphs are
used iteratively, i.e., an instance graph on one layer can be regarded as a
type graph of the next lower layer. Our approach models layered graphs with a
UML class diagram, and operations and invariants are formally characterized
with OCL and are validated with the USE tool. Metamodeling properties like
strictness or well-typedness and features like potency can be formulated as
OCL constraints and operations. We are providing easily understandable
definitions for several metamodeling notions which are currently used in a
loose way by modelers. Such properties and features can then be discussed on
a rigorous, formal ground. This issue is also the main purpose of the paper,
namely, to provide a basis for discussing metamodeling
topics.
(14 pages, gzipped PostScript: 206kb via
HTTP, uncompressed PostScript: 4894kb via
HTTP)
- [Sohr et al., 2005]
- Karsten Sohr,
Gail-Joon Ahn, Martin Gogolla, and Lars Migge.
Specification and Validation of Authorization Constraints using UML and OCL.
In Sabrina DeCapitani, Paul F. Syverson, and Dieter Gollmann, editors,
Proc. 10th European Symp. Research in Computer
Security (ESORICS'2005), pages 64-79. Springer, Berlin,
LNCS 3679, 2005.
Authorisation constraints can help the policy architect design and
express higher-level security policies for organisations such as financial
institutes or governmental agencies. Although the importance of constraints
has been addressed in the literature, there does not exist a systematic way
to validate and test authorisation constraints. In this paper, we attempt to
specify non-temporal constraints and historybased constraints in Object
Constraint Language (OCL) which is a constraint specification language of
Unified Modeling Language (UML) and describe how we can facilitate the USE
tool to validate and test such policies. We also discuss the issues of
identification of conflicting constraints and missing
constraints.
(16 pages, gzipped PostScript: 791kb via
HTTP, uncompressed PostScript: 6131kb via
HTTP, PDF: 404kb via
HTTP)
- [Ziemann, 2005]
- Paul Ziemann.
An Integrated Operational Semantics for a UML Core Based on Graph
Transformation.
PhD thesis, Universität Bremen, Fachbereich Mathematik und Informatik,
2005.
Today, the Unified Modeling Language (UML) is widely accepted as a
standard for modeling object-oriented software systems. However, its
semantics is defined only in an informal way. In this thesis, we present an
approach that gives a formal semantics to an important subset of UML.We cover
substantial aspects of UML use case, class, object, statechart, and
interaction diagrams. Additionally, full OCL is supported in the common UML
fashion. The presented approach is based on the translation of a UML model
into a graph transformation system consisting of graph transformation rules
and a graph that represents the system state. By applying the rules on the
graph, the evolution of the modeled system is simulated. To define a formal
semantics, we first fix the considered subset of UML by means of a metamodel.
This metamodel resembles the UML 1.5 metamodel of the OMG but is more
compact. The metamodel approach is employed here with the UML community in
mind that is used to this way of language definition. The concept of a system
state that includes information of the system at a specific point in time
during execution is likewise introduced by means of a metamodel. Aside from
objects, attribute values and relationships between the objects, a system
state includes processes that represent operations in execution. The actual
execution is performed by applying graph transformation rules that refer to a
process and modify the system state according to the semantics of the
corresponding operation. This is either specified by means of an interaction
diagram or is predefined. In the central part of this thesis, we describe in
detail how the graph transformation rules for a given UML model are
constructed. The approach is implemented in a tool that supports the user in
simulating the execution of models before actually having implemented it.
During the simulation, the current system state can always be checked with
respect to OCL constraints. It can also be inspected with OCL queries. The
modeler can check specific sequences of operation calls and gains insight
into the modeled system. By analyzing the model in this way, errors can be
located or the model can be validated to be correct. Therefore, this thesis
contributes to the goal of improving the quality of
software.
- [Bauerdick et al., 2004]
- Hanna
Bauerdick, Martin Gogolla, and Fabian Gutsche.
Detecting OCL Traps in the UML 2.0 Superstructure: An Experience Report.
In Thomas Baar, Alfred Strohmeier, Ana Moreira, and Stephen J. Mellor, editors,
Proc. 7th Int. Conf. Unified Modeling Language (UML'2004),
pages 188-197. Springer, Berlin, LNCS 3273, 2004.
Currently, the OMG is developing a new version of the Unified
Modeling Language (UML), UML 2.0, which involves major innovations in its
metamodel. As for previous versions of the UML, the Object Constraint
Language (OCL) is employed to give restrictions on the use of UML and for the
formulation of additional operations. It seems that the OCL expressions in
the current version of the UML 2.0 Superstructure have not been checked with
a tool. In this paper we report on an experiment in checking and validating
the well-formedness rules and operation definitions of the UML 2.0
Superstructure w.r.t. syntax and type checking by using our tool
USE (UML-based Specification Environment). For this purpose we classify the
errors detected by USE in appropriate error categories. We develop
statistical information on error frequencies w.r.t. package location and
error category. All errors detected by USE and their detailed description are
made available in a separate EXCEL file.
(10 pages, gzipped PostScript: 52kb via
HTTP, uncompressed PostScript: 131kb via
HTTP)
- [Bezivin et al., 2004]
- Jean Bezivin,
Thomas Baar, Tracy Gardner, Martin Gogolla, Reiner Hähnle, Heinrich
Hußmann, Octavian Patrascoiu, Peter H. Schmitt, and Jos Warmer.
OCL and Model Driven Engineering Workshop Report.
In Nuno Jardim Nunes, Bran Selic, Alberto Rodrigues da Silva, and
Ambrosio Toval Alvarez, editors, UML'2004 Modeling Languages and
Applications. UML'2004 Satellite Activities. Revised Selected Papers,
pages 67-75. Springer, Berlin, LNCS 3297, 2004.
This paper reports on a workshop held at the 7th UML conference.
It describes motivation, objectives, abstracts of the presented papers,
questions raised during discussion, and a workshop
conclusion.
(9 pages, gzipped PostScript: 31kb via
HTTP, uncompressed PostScript: 158kb via
HTTP)
- [Bisanz et al., 2004]
- Stefan Bisanz,
Paul Ziemann, and Arne Lindow.
Integrated Specification, Validation and Verification with HybridUML and OCL
Applied to the BART Case Study.
In E. Schnieder and G. Tarnai, editors, Proc. Conf. Formal Methods for
Automation and Safety in Railway and Automotive
Systems (FORMS/FORMAT'2004), 2004.
This article proposes the integration of the HybridUML
specification formalism and the USE approach for validation of invariant
constraints and verification of system states. The benefit is an executable
real-time simulation with an integrated verification/validation component,
which combines the advantages of the previously separate approaches by
providing an accurate, (partially) time-continuous model that can be checked
for consistency between static invariants and dynamical behavior in terms of
a complete UML model. The integration is illustrated by means of a train
system specification -- the BART case study.
(13 pages, gzipped PostScript: 2325kb via
HTTP, uncompressed PostScript: 5587kb via
HTTP)
- [Büttner and Gogolla,
2004a]
- Fabian Büttner and Martin Gogolla.
On Generalization and Overriding in UML 2.0.
In Jean Bezivin, Thomas Baar, Tracy Gardner, Martin Gogolla, Reiner Hähnle,
Heinrich Hußmann, Octavian Patrascoiu, Peter H. Schmitt, and Jos Warmer,
editors, Proc. UML'2004 Workshop OCL and Model Driven
Engineering, pages 69-69. In: UML - Modeling Languages and
Applications. Nuno Jardim Nunes, Bran Selic, Alberto Rodrigues da Silva,
Ambrosio Toval Alvarez (Eds). LNCS 3297, Springer Verlag. Long version:
University of Kent, http://www.cs.kent.ac.uk/projects/ocl/oclmdewsuml04/,
2004.
In the upcoming Unified Modeling Language specification (UML 2.0),
subclassing (i.e., generalization between classes) has a much more precise
meaning with respect to overriding than it had in earlier UML versions.
Although it is not expressed explicitly, UML 2.0 has a covariant overriding
rule for methods, attributes, and associations. In this paper, we first
precisely explain how overriding is defined in UML 2.0. We relate the UML
approach to the way types are formalized in programming languages and we
discuss which consequences arise when implementing UML models in programming
languages. Second, weaknesses of the UML 2.0 metamodel and the textual
explanations are addressed and solutions, which could be incorporated with
minor efforts are proposed. Despite of these weaknesses we generally agree
with the UML 2.0 way of overriding and provide supporting arguments for
it.
(15 pages, gzipped PostScript: 155kb via
HTTP, uncompressed PostScript: 362kb via
HTTP)
- [Büttner and Gogolla,
2004b]
- Fabian Büttner and Martin Gogolla.
Realizing UML Metamodel Transformations with AGG.
In Reiko Heckel, editor, Proc. ETAPS Workshop Graph Transformation and
Visual Modeling Techniques (GT-VMT'2004), pages 31-42. Electronic
Notes in Theoretical Computer Science (ENTCS), Vol. 109, Elsevier, NL,
2004.
In this paper, we work out equivalence transformations on the UML
metamodel as concrete graph transformations implemented in the AGG tool. We
consider two examples for manipulating the static structure of a UML model,
namely the transformation of an association class into a ternary association
and the transformation of a ternary association into three binary
associations. We discuss technical details and pros and cons of the presented
approach and shortly put out work into the context of the
MDA.
(12 pages, gzipped PostScript: 560kb via
HTTP, uncompressed PostScript: 8829kb via
HTTP)
- [Büttner et al., 2004]
- Fabian
Büttner, Oliver Radfelder, Arne Lindow, and Martin Gogolla.
Digging into the Visitor Pattern.
In Frank Maurer and Günther Ruhe, editors, Proc. IEEE 16th Int.
Conf. Software Engineering and Knowlege Engineering (SEKE'2004).
IEEE, Los Alamitos, 2004.
In this paper we present an alternative to the visitor pattern,
dynamic dispatcher, that can be applied to extend existing software in a
nonintrusive way, and which simulates covariant overriding of visit methods.
It allows to express polymorphic operations through visitor classes in a more
natural way than the original visitor pattern. Our solution dynamic
dispatcher can be applied without touching existing domain classes.
Therefore, it is especially useful to extend frameworks and libraries. We
have implemented dynamic dispatcher as a small framework in Java and
conducted performance measurements which show that the overhead should be
acceptable in many real world scenarios.
(7 pages, gzipped PostScript: 48kb via
HTTP, uncompressed PostScript: 168kb via
HTTP)
- [Gogolla, 2004a]
- Martin Gogolla.
(An Example for) Metamodeling Syntax and Semantics of Two Languages, their
Transformation, and a Correctness Criterion.
In Jean Bezivin and Reiko Heckel, editors, Proc. Dagstuhl Seminar on
Language Engineering for Model-Driven Software Development. Schloss
Dagstuhl Int. Conf. and Research Center for Computer Science,
http://www.dagstuhl.de/04101/, 2004.
We study a metamodel for the Entity Relationship (ER) and the
Relational data model. We do this by describing the syntax of the ER data
model by introducing classes for ER schemata, entities, and relationships. We
also describe the semantics of the ER data model by introducing classes for
ER states, instances, and links. The connection between syntax and semantics
is established by associations explaining that syntactical objects are
interpreted by corresponding semantical objects. Analogously we do this for
the Relational data model. Finally, we give a metamodel for the
transformation of ER schemata into Relational database schemata. By
characterizing the syntax and semantics of the languages to be transformed
and also the transformation itself within the same (meta-)modeling language
we are able to include equivalence criteria on the syntactical and on the
semantical level for the transformation. In particular, we show that the
semantical equivalence criterion requires that the ER states and the
corresponding Relational states bear the same information.
(10 pages, gzipped PostScript: 134kb via
HTTP, uncompressed PostScript: 877kb via
HTTP)
- [Gogolla, 2004b]
- Martin Gogolla.
Benefits and Problems of Formal Methods.
In Albert Llamosi and Alfred Strohmeier, editors, Proc. 9th Int. Conf.
Reliable Software Technologies Ada-Europe (RST'2004), pages 1-15.
Springer, Berlin, LNCS 3063, 2004.
Formal methods for software development have been discussed for
decades. This paper will try to explain when and under what circumstances
formal methods and languages in general and the Object Constraint
Language (OCL) in particular can be employed in a beneficial way. The success
of using a formal approach is highly influenced by the expectations and
pre-requisite knowledge of the developers, the role the formal support in the
development process is given, and of course by the used
tools.
(15 pages, gzipped PostScript: 83kb via
HTTP, uncompressed PostScript: 288kb via
HTTP)
- [Gogolla and Ziemann, 2004]
- Martin
Gogolla and Paul Ziemann.
Checking BART Test Scenarios with UML's Object Constraint Language.
In Fabrice Kordon and Michel Lemoine, editors, Formal Methods for
Embedded Distributed Systems - How to master the complexity, pages
133-170. Kluwer, 2004.
The Object Constraint Language (OCL) is part of the Unified
Modelling Language (UML). Within software engineering, UML is regarded today
as an important step towards development of high-quality object-oriented
systems. OCL allows to sharpen UML diagrams through invariants and pre- and
postconditions. This chapter explains the functionality of the UML
Specification Environment USE, which allows to validate and verify UML and
OCL descriptions. The paper shows that central safety properties of the BART
system can be expressed with OCL. Test cases embodying central aspects of the
BART system can be formulated within the USE system. It can be shown that the
safety properties are satisfied by the test cases examined.
(38 pages, gzipped PostScript: 193kb via
HTTP, uncompressed PostScript: 1089kb via
HTTP)
- [Gogolla et al., 2004a]
- Martin
Gogolla, Mark Richters, Jörn Bohling, Arne Lindow, Fabian Büttner,
and Paul Ziemann.
Werkzeugunterstützung für die Validierung von UML- und OCL-Modellen
durch automatische Snapshot-Generierung.
In Bernhard Rumpe and Wolfgang Hesse, editors, Proc.
Modellierung'2004, pages 281-282. Gesellschaft für
Informatik, LNI P-45, 2004.
Diese Arbeit gibt einen kurzen, aktuellen Überblick zu
Bremischen Aktivitäten im Bereich Werkzeugunterstützung für UML
und OCL.
(2 pages, gzipped PostScript: 11kb via
HTTP, uncompressed PostScript: 25kb via
HTTP)
- [Gogolla et al., 2004b]
- Martin Gogolla,
Paul Sammut, and Jon Whittle.
Essentials of the 3rd UML Workshop in Software Model
Engineering (WiSME'2004).
In Nuno Jardim Nunes, Bran Selic, Alberto Rodrigues da Silva, and
Ambrosio Toval Alvarez, editors, UML'2004 Modeling Languages and
Applications. UML'2004 Satellite Activities. Revised Selected Papers,
pages 43-51. Springer, Berlin, LNCS 3297, 2004.
This paper reports on a workshop held at the 7th UML conference.
It describes motivation and aims, organisational issues, abstracts of the
accepted papers, and questions raised during discussion.
(10 pages, gzipped PostScript: 42kb via
HTTP, uncompressed PostScript: 102kb via
HTTP)
- [Krieg-Brückner et al.,
2004]
- Bernd Krieg-Brückner, Arne Lindow, Christoph Lüth, Achim
Mahnke, and George Russell.
Semantic Interrelation of Documents via an Ontology.
In Gregor Engels and Silke Seehusen, editors, Proc. 2. Deutsche
e-Learning Fachtagung Informatik (DeLFI'2004), pages 271-282.
Gesellschaft für Informatik, LNI P-52, 2004.
This paper describes how to use an ontology for extensive semantic
interrelation of documents in order to achieve sustainable development, i.e.
continuous long-term usability of the contents. The ontology is structured
via packages (corresponding to whole documents). Packages are related by
import such that semantic interrelation becomes possible not only within a
document but also between different documents. Coherence and consistency are
enhanced by change management in a repository, including version control and
configuration management. Semantic interrelation is realized by particular
LaTeX commands for the declaration and definition of classes, objects and
relations, and references to them, such that they can be used in standard
LaTeX documents, in particular, with a new LaTeX style for educational
material (slides, handouts, annotated courses, assignments, and so
on).
- [Lindow and Gogolla, 2004]
- Arne
Lindow and Martin Gogolla.
Eine multimediale Erweiterung eines UML-Tools für Lehrzwecke.
In Gregor Engels and Silke Seehusen, editors, Proc. 2. Deutsche
e-Learning Fachtagung Informatik (DeLFI'2004), pages 393-394.
Gesellschaft für Informatik, LNI P-52, 2004.
In this paper we discuss possible extensions for an UML/OCL tool
so far used in the area of formal methods to expand it to an educational
teaching and learning system. So we will show a way to develop USE from a
well known tool for practical work in the area of formal methods into an
educational multimedia teaching and learning environment, which can be used
in lectures and for the creation of lecture material. We clarify, how authors
could benefit of a new import-function for the standard interchange format of
UML-models. We show how we think, authors of multimedia material for lectures
can benefit of easy to create graphical or animated presentations of UML
models or new diagram combinations. We suggest an extension for a learner
model, which can help the students easily access examples of concepts of UML,
which they want to learn. A new annotation mechanism for presentation is
suggested and an easy to understand, very detailed visualization of the
evaluation of OCL-expressions is explained.
(2 pages, gzipped PostScript: 10kb via
HTTP, uncompressed PostScript: 24kb via
HTTP)
- [Ziemann et al., 2004a]
- Paul Ziemann,
Karsten Hölscher, and Martin Gogolla.
Coherently Explaining UML Statechart and Collaboration Diagrams by Graph
Transformations.
In Arnaldo Moura and Alexandre Mota, editors, Proc. Brazilian Symposium
on Formal Methods (SBMF'2004), pages 263-280. Electronic Notes in
Theoretical Computer Science (ENTCS), Vol. 130, Elsevier, NL, 2004.
In this paper we continue our work on the formalization and
validation of UML models by means of graph transformation systems. We here
concentrate on statechart and collaboration diagrams albeit our approach
covers use case, class, object, and sequence diagrams as well. The statechart
and collaboration diagrams describe the operations of the underlying class
diagram and include OCL expressions as guards and parts of message
expressions. We illustrate in detail the generation of graph transformation
rules for the statechart and collaboration diagrams.
(15 pages, gzipped PostScript: 178kb via
HTTP, uncompressed PostScript: 549kb via
HTTP)
- [Ziemann et al., 2004b]
- Paul Ziemann,
Karsten Hölscher, and Martin Gogolla.
From UML Models to Graph Transformation Systems.
In Mark Minas, editor, Proc. Workshop Visual Languages and Formal
Methods (VLFM'2004), pages 17-32. Electronic Notes in Theoretical
Computer Science (ENTCS), Vol. 127, No. 4, Elsevier, NL, 2004.
In this paper we present an approach that allows to validate
properties of UML models. The approach is based on an integrated semantics
for central parts of the UML. We formally cover UML use case, class, object,
statechart, collaboration, and sequence diagrams. Additionally full OCL is
supported in the common UML fashion. Our semantics is based on the
translation of a UML model into a graph transformation system consisting of
graph transformation rules and a working graph that represents the system
state. By applying the rules on the working graph, the evolution of the
modeled system is simulated.
(16 pages, gzipped PostScript: 267kb via
HTTP, uncompressed PostScript: 808kb via
HTTP)
- [Bezivin and Gogolla, 2003]
- Jean
Bezivin and Martin Gogolla, editors.
Proc. 2nd UML Workshop in Software Model
Engineering (WiSME'2003). www.metamodel.com, 2003.
http://www.metamodel.com/wisme-2003/.
Model Driven Architecture (MDA) is an OMG initiative that attempts
to separate business functionality specification from the implementation of
that functionality on specific middleware technological platforms (CORBA,
C#/DotNet, Java/EJB, XML/SOAP, etc.). This new approach is intended to play a
key role in the fields of information system and software engineering. The
stage is thus set but the efforts to move from the present situation to the
idyllic automatic generation of executable models for various platforms
remains huge. We need to mobilize the creative energies of a very broad
category of contributors, from tool builders to theoretical specialists in
the fields of language compilers, graph rewriting, model checking, ontology
engineering, etc. The workshop brings together young researchers planning to
invest in this emerging new area as well as more experienced professional
having previous experience in areas related to automatic code generation,
transformational and generative approaches, model checking,
etc.
- [Gogolla and Lindow, 2003]
- Martin Gogolla
and Arne Lindow.
Transforming Data Models with UML.
In Borys Omelayenko and Michel Klein, editors, Knowledge Transformation
for the Semantic Web, pages 18-33. IOS Press, Amsterdam,
Amsterdam, 2003.
This chapter studies an approach to establish a formal connection
between data models, in particular between conceptual data models and
implementation data models. We use metamodeling techniques based on the Meta
Object Facility MOF. MOF may be regarded as a subset of the Unified Modeling
Language UML. As prominent example data models, we formally describe and
thereby analyze the Entity-Relationship and the Relational data model. In
addition, we represent the transformation between these data models by MOF
language features. Thus we describe the data models and their transformation
within a single framework. All results are formally represented and validated
by a MOF compliant tool. The approach presented is general enough so that it
can used for other data models being important for the Semantic Web, e.g.,
the object-oriented data model or semi-structured data models like XML-based
models.
(15 pages, gzipped PostScript: 124kb via
HTTP, uncompressed PostScript: 1519kb via
HTTP)
- [Gogolla et al., 2003a]
- Martin Gogolla,
Jörn Bohling, and Mark Richters.
Validation of UML and OCL Models by Automatic Snapshot Generation.
In Grady Booch, Perdita Stevens, and Jonathan Whittle, editors, Proc.
6th Int. Conf. Unified Modeling Language (UML'2003), pages
265-279. Springer, Berlin, LNCS 2863, 2003.
We study the testing and certification of UML and OCL models as
supported by the validation tool USE. We extend the available USE features by
introducing a language for defining properties of desired snapshots and by
showing how such snapshots are generated. Within the approach, it is possible
to treat test cases and validation cases. Test cases show that snapshots
having desired properties can be constructed. Validation cases show that
given properties are consequences of the original UML and OCL
model.
(15 pages, gzipped PostScript: 113kb via
HTTP, uncompressed PostScript: 462kb via
HTTP)
- [Gogolla et al., 2003b]
- Martin
Gogolla, Mark Richters, and Jörn Bohling.
Tool Support for Validating UML and OCL Models through Automatic Snapshot
Generation.
In Jarr Eloff, Andries Engelbrecht, Paula Kotze, and Mariki Eloff, editors,
Proc. Annual Research Conf. South African Institute of Computer
Scientists and Information Technologists on Enablement through
Technology (SAICSIT'2003), pages 248-257. ACM International
Conference Proceedings Series, 2003.
This paper studies tool support for the testing and certification
of UML and OCL models as supported by the validation tool USE. We describe
the features available in the UML/OCL tool USE and extend its features by
introducing a language for defining properties of desired snapshots and by
showing how such snapshots are generated. We explain the functionality
offered by the USE tool. In particular, we demonstrate how the diverse
windows, e.g., object diagram, class invariant, class extent, or OCL
expression evaluation window, support the development process in early phases
of software development.
(10 pages, gzipped PostScript: 202kb via
HTTP, uncompressed PostScript: 2858kb via
HTTP)
- [Kollmann, 2003]
- Ralf Kollmann.
Design Recovery Techniques for Object-Oriented Software Systems.
PhD thesis, Universität Bremen, Fachbereich Mathematik und Informatik,
2003.
Reverse engineering techniques have been applied successfully in
software maintenance, reengineering, as well as traditional software
engineering processes for many years. With the establishment of the UML as a
standard for modeling of object-oriented software systems, many new
opportunities but also challenges have opened up in the new field of
UML-based reverse engineering. In this dissertation thesis, techniques for
application of the UML in static design recovery as well as metric-based
static software analysis are presented, with a focus on programs written in
Java. To address the problem of uniquely representing aspects of existing
programs in UML diagrams, a metamodel for the Java language has been
developed. It serves as a foundation for a standardized metamodel-level
translation scheme between Java and the UML. Based on this scheme, techniques
for recovering the abstract design of a software system from the
implementation model are introduced. The focus of these is on design recovery
strategies for recognition of advanced UML class diagram features. When
reverse engineering non-trivial software systems, the resulting amount of
information is often huge. One of the central problems of UML diagrams is the
tradeoff between detailed rendering and lack of space and readability: Even
for programs of average size, the resulting diagrams tend to become quickly
too large for comfortable viewing. In addition to metricbased analysis
techniques, which help to understand the software by integrating metrics and
UML diagrams, we present a metric-based approach for identification of
logical substructures in a software architecture, which helps to partition
the system and thus make it easier comprehensible. The techniques presented
in this dissertation have been implemented in the reverse engineering tool
IDEA, a system for static analysis of Java programs. IDEA supports generation
of both UML class as well as activity diagrams from source code. Concerning
its primary functionality, static design recovery, it is possible to
recognize many of UML s advanced notational features in an interactive
process. Furthermore, the calculation of metrics is supported and used both
for integration in extended UML class diagrams, as well as for metric-based
analyses. The approaches presented in this dissertation thesis contribute to
the research field of reverse engineering, by showing novel ways to
redocument and analyse object-oriented software systems using the graphical
UML notation. Thereby, they help to improve a general understanding of how to
apply the UML in reverse engineering and static program
analysis.
- [Krieg-Brückner et al., 2003]
- Bernd
Krieg-Brückner, Dieter Hutter, Arne Lindow, Christoph Lüth, Achim
Mahnke, Erica Melis, Philipp Meier, Arnd Poetzsch-Heffter, Markus Roggenbach,
George Russell, Jan-Georg Smaus, and Martin Wirsing.
MultiMedia Instruction in Safe and Secure Systems.
In Martin Wirsing, Dirk Pattinson, and Rolf Hennicker, editors, Proc.
16th Int. Workshop Abstract Data Types (WADT'02), pages 82-117.
Springer, Berlin, LNCS 2755, 2003.
The aim of the MMiSS project is the construction of a multimedia
Internet-based adaptive educational system. Its content will initially cover
a curriculum in the area of Safe and Secure Systems. Traditional teaching
materials (slides, handouts, annotated course material, assignments, and so
on) are to be converted into a new hypermedia format, integrated with tool
interactions for formally developing correct software; they will be suitable
for learning on campus and distance learning, as well as interactive,
supervised, or cooperative self-study. To ensure sustainable development,
i.e. continuous long-term usability of the contents, coherence and
consistency are especially emphasised, through extensive semantic linking of
teaching elements and a particular version and configuration management,
based on experience in formal software development and associated support
tools.
(38 pages, gzipped PostScript: 1452kb via
HTTP, uncompressed PostScript: 8909kb via
HTTP)
- [Radfelder, 2003]
- Oliver Radfelder.
Dreidimensionale, interaktive und animierte Softwarevisualisierung zur
Unterstützung im Softwareentwicklungsprozess.
PhD thesis, Universität Bremen, Fachbereich Mathematik und Informatik,
2003.
In Kapitel 1 werden bestehende Ansätze zur Visualisierung
untersucht. Dabei werden speziell dreidimensionale und animierte Techniken
und Systeme beleuchtet. Weiterhin werden Taxonimien und Evaluierungen der
Softwarevisualisierung untersucht, um am Ende einen Kriterienkatalog für
effektive Softwarevisualisierung zu entwickeln. In Kapitel 2 wird die UML am
exemplarisch im Einsatz eines Softwareentwurfs gezeigt und Kritikpunkte
gesammelt und am Ende diskutiert. In Kapitel 3 wird zunächst der Einsatz
dreidimensionaler und animierter Softwarevisualisierung statischer Strukturen
diskutiert. Während dessen stelle ich die relevanten Teile der zu diesem
Zweck entwickelte Software Uvis vor. Kapitel 4 behandelt die Visualisierung
dynamischer Vorgänge ebenfalls im Kontext von Uvis. In Kapitel 5 werden
die dynamische und die statische Sicht zusammengeführt, wodurch es
möglich wird, eine konzeptionelle Gesamtsicht auf ein Modell zu erhalten.
Zusätzlich wird in dem Kapitel diskutiert, wie die Integration zweier
ansonsten getrennter Sichtweisen durch die dreidimensionale, interaktive und
animierte Visualisierung möglich wird: Die Einbettung der
Oberflächen-orientierten Sichtweise des zukünftigen Benutzers in die
Spezifikations-orientierte Sicht des Modellierers. In Kapitel 6 wird noch
einmal die Arbeit zusammengefasst und diskutiert, sowie ein Ausblick auf
mögliche weitere Arbeit zu diesem Thema gegeben.
- [Richters and Gogolla, 2003]
- Mark
Richters and Martin Gogolla.
Aspect-Oriented Monitoring of UML and OCL Constraints.
In Omar Aldawud, Mohamed Kande, Grady Booch, Bill Harrison, Dominik Stein, Jeff
Gray, Siobhan Clarke, Aida Zakaria, Peri Tarr, and Faisal Akkawi, editors,
Proc. UML'2003 Workshop Aspect-Oriented Software Development with
UML. Illinois Institute of Technology, Department of Computer
Science, http://www.cs.iit.edu/ oaldawud/AOM/index.htm, 2003.
We present an approach utilizing aspect-oriented programming (AOP)
techniques for mapping between di erent abstraction levels of software. The
goal is to facilitate validation and testing of a software implementation
against constraints specified on an associated UML model. We use AOP
techniques for defining a monitor that observes the behavior of an
implementation and maps it to model behavior. The model behavior is then
validated against constraints with an existing tool. Constraint violations
can thus be identified and traced to a specification of the
model.
(7 pages, gzipped PostScript: 191kb via
HTTP, uncompressed PostScript: 884kb via
HTTP)
- [Ziemann and Gogolla,
2003a]
- Paul Ziemann and Martin Gogolla.
An OCL Extension for Formulating Temporal Constraints.
Research Report 1/03, Universität Bremen, 2003.
UML class diagrams are widely used to model the static structure
of object-oriented software systems. The textual language OCL, which is part
of the UML, is used for formulating constraints that can not be modeled by
the diagrams. In this paper, we extend OCL with elements of linear temporal
logic. With this extended OCL, which we call TOCL, we want to give software
engineers a user-friendly means to specify constraints on the temporal
evolution of the system structure as well as on the system behavior by
stating temporal invariants and pre- and postconditions. We formally define
syntax and semantics of the extended OCL.
(20 pages, gzipped PostScript: 179kb via
HTTP, uncompressed PostScript: 444kb via
HTTP)
- [Ziemann and Gogolla, 2003b]
- Paul Ziemann
and Martin Gogolla.
OCL Extended with Temporal Logic.
In Manfred Broy and Alexandre Zamulin, editors, 5th Int. Conf.
Perspectives of System Informatics (PSI'2003), pages 351-357.
Springer, Berlin, LNCS 2890, 2003.
UML class diagrams have become a standard for modeling the static
structure of object-oriented software systems. OCL can be used for
formulating additional constraints that can not be expressed with the
diagrams. In this paper, we extend OCL with temporal operators to formulate
temporal constraints.
(7 pages, gzipped PostScript: 110kb via
HTTP, uncompressed PostScript: 231kb via
HTTP)
- [Ziemann and Gogolla, 2003c]
- Paul
Ziemann and Martin Gogolla.
Validating OCL Specifications with the USE Tool - An Example Based on the BART
Case Study.
In Thomas Arts and Wan Fokkink, editors, Proc. 8th Int. Workshop Formal
Methods for Industrial Critical Systems (FMICS'2003), pages
157-169. Electronic Notes in Theoretical Computer Science (ENTCS),
Vol. 80, Elsevier, NL, 2003.
The Object Constraint Language (OCL) is part of the Unified
Modeling Language (UML). Within software engineering, UML is regarded today
as an important step towards development of high-quality object-oriented
systems. OCL allows to sharpen UML diagrams through invariants as well as
pre- and postconditions. This paper explains the functionality of the UML
Specification Environment USE which allows to validate UML and OCL
descriptions. The paper shows that central safety properties of the train
system described in the well-known BART case study can be expressed with OCL.
Test cases embodying central aspects of this train system can be formulated
within the USE system. It can be shown that the safety properties are
satisfied by the test cases examined.
(13 pages, gzipped PostScript: 188kb via
HTTP, uncompressed PostScript: 695kb via
HTTP)
- [Gogolla, 2002]
- Martin Gogolla.
Editorial for the Special Issue on the UML 2001 Conference.
Journal on Software and System Modeling, Springer, DE,
1(2):83-85, 2002.
This paper is the editorial for the special issue of the journal
on Software and Systems Modeling dedicated to the UML 2001
Conference (UML'2001)
- [Gogolla and Henderson-Sellers,
2002]
- Martin Gogolla and Brian Henderson-Sellers.
Formal Analysis of UML Stereotypes within the UML Metamodel.
In Steve Cook, Heinrich Hussmann, and Jean-Marc Jezequel, editors, Proc.
5th Int. Conf. Unified Modeling Language (UML'2002), pages 84-99.
Springer, Berlin, LNCS 2460, 2002.
Stereotypes are a powerful and potentially expressive extension
mechanism in the Unified Modeling Language UML. However, it seems that
stereotypes are difficult to handle because using stereotypes needs an
understanding of the UML metamodel and in particular an understanding of OCL
constraints. Stereotypes are often applied in a wrong or at least sloppy way
without proper declaration. There are also differences between the various
versions of UML with respect to subtle details in the stereotype part. A
graphical syntax for stereotypes including examples has been introduced only
late in UML 1.4. Other difficulties are that constraints are used in the
stereotype context in two completely different ways and that no full support
of stereotypes is offered by tools yet. The paper points out these
difficulties in detail, analyses the UML metamodel part dealing with
stereotypes, and makes various suggestions to improve the definition and use
of stereotypes.
(15 pages, gzipped PostScript: 235kb via
HTTP, uncompressed PostScript: 3535kb via
HTTP)
- [Gogolla and Richters, 2002]
- Martin
Gogolla and Mark Richters.
Development of UML Descriptions with USE.
In Hassan Shafazand and A Min Tjoa, editors, Proc. 1st Eurasian Conf.
Information and Communication Technology (EURASIA'2002), pages
228-238. Springer, Berlin, LNCS 2510, 2002.
The Object Constraint Language OCL is part of the Unified Modeling
Language UML. Within software engineering, UML is regarded today as an
important step towards development of high-quality object-oriented systems.
OCL allows to describe system structure by invariants and system behavior by
pre- and postconditions. This paper explains the functionality of the UML
Specification Environment USE which allows to validate and verify UML and OCL
descriptions. The paper also uses a new approach to handle UML statecharts by
OCL pre- and postconditions.
(12 pages, gzipped PostScript: 196kb via
HTTP, uncompressed PostScript: 5467kb via
HTTP)
- [Gogolla et al., 2002a]
- Martin Gogolla,
Arne Lindow, Mark Richters, and Paul Ziemann.
Metamodel Transformation of Data Models.
In Jean Bezivin and Robert France, editors, Proc. UML'2002 Workshop in
Software Model Engineering (WiSME 2002).
http://www.metamodel.com/wisme-2002, 2002.
This paper studies syntax and semantics of the
Entity-Relationship (ER) and Relational data model and their transformation.
The ER model may be regarded as a platform independent model and the
Relational model as a prototypical platform specific model. The paper studies
the transformation between these models and proposes to express that
transformation again as a model.
(8 pages, gzipped PostScript: 124kb via
HTTP, uncompressed PostScript: 947kb via
HTTP)
- [Gogolla et al., 2002b]
- Martin Gogolla,
Paul Ziemann, and Sabine Kuske.
Towards an Integrated Graph Based Semantics for UML.
In Paolo Bottoni and Mark Minas, editors, Proc. ICGT Workshop Graph
Transformation and Visual Modeling Techniques (GT-VMT'2002), pages
160-175. Electronic Notes in Theoretical Computer Science (ENTCS),
Vol. 72, No. 3, Elsevier, NL, 2002.
Recently, we proposed an integrated formal semantics based on
graph transformation for central aspects of UML class, object and state
diagrams. In this paper, we explain the basic ideas of that approach and show
how two more UML diagram types, sequence and collaboration diagrams, can be
captured. For UML models consisting of a class diagram and particular state
diagrams, a graph transformation system can be defined. Its graphs are
associated with system states and its rules with operations in the class
diagram and transitions in the state diagrams. Sequence and collaboration
diagrams then characterize sequences of operation applications and therefore
sequences of transformation rule applications. Thus valid sequence and
collaboration diagrams correspond to derivations induced by the graph
transformation system. Proceeding this way, it can be checked for example
whether such an operation application sequence may be applied in a specific
system state.
(16 pages, gzipped PostScript: 95kb via
HTTP, uncompressed PostScript: 328kb via
HTTP)
- [Kollmann and Gogolla, 2002]
- Ralf
Kollmann and Martin Gogolla.
Metric-Based Selective Representation of UML Diagrams.
In Tibor Gyimóthy and Fernando Brito e Abreu, editors, Proc. 6th
European Conf. Software Maintenance and Reengineering (CSMR'02).
IEEE, Los Alamitos, 2002.
UML diagrams are widely employed for modeling of object-oriented
software systems. In addition to their application in forward engineering, it
is also possible to use them for the redocumentation of existing programs.
However, the inherent structure of UML diagrams, which consists of graphical
as well as textual information, makes it difficult to read and oversee large
diagrams generated from complex systems. The view on such diagrams can be
compared with taking a look at a detailed map: the reader has to decide
whether to read the fine details or to view the whole structure. We present
approaches to overcome this problem by using object-oriented metrics for
program analysis and location of submodules in diagrams that belong together
in terms of coupling. The shown techniques have been implemented into our
reverse engineering tool Idea, which allows interactive selection and
isolation of coherent regions of class diagrams.
(10 pages, gzipped PostScript: 295kb via
HTTP, uncompressed PostScript: 1929kb via
HTTP)
- [Kollmann et al., 2002]
- Ralf Kollmann,
Petri Selonen, Eleni Stroulia, Tarja Systä, and Albert Zündorf.
A Study on the Current State of the Art in Tool-Supported UML-Based Static
Reverse Engineering.
In Elizabeth Burd and Arie van Deursen, editors, Proc. 9th Working Conf.
Reverse Engineering (WCRE'02). IEEE, Los Alamitos, 2002.
Today, software-engineering research and industry alike recognize
the need for practical tools to support reverse-engineering activities. Most
of the well-known CASE-tools nowadays support reverse engineering in some
way. But although the Unified Modeling Language (UML) has emerged as the de facto standard for the abstract graphical representation of
object-oriented software systems, there does not yet exist a standard scheme
for representing the reverse engineered models of software systems. Due to
the differences in understanding and application of the UML notation and the
proprietary extensions that different tools adopt, it is often difficult to
ensure that model semantics remains unambiguous when working with different
tools at the same time. In this paper, we examine the capabilities of the two
most successful industrial-strength CASE-tools in reverse engineering the
static structure of software systems and compare them to the results produced
by two academic prototypes. The comparisons are carried out both manually and
automatically using a research prototype for manipulating and comparing UML
models.
(11 pages, gzipped PostScript: 48kb via
HTTP, uncompressed PostScript: 391kb via
HTTP)
- [Kuske et al., 2002]
- Sabine Kuske, Martin
Gogolla, Ralf Kollmann, and Hans-Jörg Kreowski.
An Integrated Semantics for UML Class, Object, and State Diagrams based on
Graph Transformation.
In Michael Butler and Kaisa Sere, editors, 3rd Int. Conf. Integrated
Formal Methods (IFM'02), pages 11-28. Springer, Berlin,
LNCS 2335, 2002.
This paper studies the semantics of a central part of the Unified
Modeling Language UML. It discusses UML class, object and state diagrams and
presents a new integrated semantics for both on the basis of graph
transformation. Graph transformation is a formal technique having some common
ideas with the UML. Graph transformation rules are associated with the
operations in class diagrams and with the transitions in state diagrams. The
resulting graph transformations are combined into one system in order to
obtain a single coherent semantic description.
(19 pages, gzipped PostScript: 109kb via
HTTP, uncompressed PostScript: 494kb via
HTTP)
- [Richters, 2002]
- Mark Richters.
A Precise Approach to Validating UML Models and OCL
Constraints.
PhD thesis, Universität Bremen, Fachbereich Mathematik und Informatik,
Logos Verlag, Berlin, BISS Monographs, No. 14, 2002.
We present a precise approach that allows an analysis and
validation of UML models and OCL constraints. We focus on models and
constraints specified in the analysis and early design stage of a software
development process. For this purpose, a suitable subset of UML corresponding
to information that is usually represented in class diagrams is identified
and formally defined. This basic modeling language provides a context for all
OCL constraints. We define a formal syntax and semantics of OCL types,
operations, expressions, invariants, and pre-/postconditions. We also give
solutions for problems with the current OCL definition and discuss possible
extensions. A metamodel for OCL is introduced that defines the abstract
syntax of OCL expressions and the structure of types and values. The
metamodel approach allows a seamless integration with the UML metamodeling
architecture and makes the benefits of a precise OCL definition easier
accessible. The OCL metamodel also allows to define context-sensitive
conditions for well-formed OCL expressions more precisely. These conditions
can now be specified with OCL whereas they previously were specified only
informally. % In order to demonstrate the practical applicability of our
work, we have realized substantial parts of it in a tool supporting the
validation of models and constraints. Design specifications can be
``executed'' and animated thus providing early feedback in an iterative
development process. Our approach offers novel ways for checking user data
against specifications, for automating test procedures, and for checking CASE
tools for standards conformance. Therefore, this work contributes to the goal
of improving the overall quality of software systems by combining theoretical
and practical techniques.
- [Wang et al., 2002]
- Rui-Jin Wang, Hui-Chuan
Duan, and Martin Gogolla.
Unified Modeling Language and Its Application to Modeling.
Journal on Application Research of Computers, China Computer Federation,
CN, 19(8):80-84, 2002.
ISSN 1001-3695.
In the present paper we introduced briefly the main concepts of
the Unified Modeling Language (UML), concentrating on the nine kinds of
diagrams. In order to show a clue to the application of the UML, we built a
simple model for the sales management system in a supermarket using the
UML.
(5 pages, gzipped PostScript: 1269kb via
HTTP, uncompressed PostScript: 3558kb via
HTTP)
- [Ziemann and Gogolla, 2002]
- Paul Ziemann
and Martin Gogolla.
An Extension of OCL with Temporal Logic.
In Jan Jürjens, editor, Proc. UML'2002 Workshop Critical System
Development (CSD 2002). Technical Report, Technical University of
Munich, 2002.
UML class diagrams are widely used to model the static structure
of object-oriented software systems. As a supplement, OCL becomes more and
more popular for formulating constraints that can not be modeled by the
diagrams. In this paper, we extend OCL with elements of temporal logic. With
this extension, constraints on the temporal development of the system
structure as well as on the system behavior can be stated in terms of
temporal invariants and pre- and postconditions.
(10 pages, gzipped PostScript: 139kb via
HTTP, uncompressed PostScript: 295kb via
HTTP)
- [Barbier et al.,
2001]
- Franck Barbier, Brian Henderson-Sellers, Andreas Opdahl, and
Martin Gogolla.
The Whole-Part Relationship in Object-Oriented Modeling.
In Keng Siau and Terry Halpin, editors, Unified Modeling Language:
Systems Analysis, Design, and Development Issues, pages 186-209.
Idea Group Publishing, Hershey (PA), USA, 2001.
This study of the semantics of the Whole-Part relationship in OO
modelling is based on previous detailed analysis of the semantics of UML's
Aggregation and Composition (white and black diamonds). Although UML is
nowadays a standard and an intensively used OO modelling language, the way
the Whole-Part is formalised is unsatisfactory. In this respect, we provide a
complete specification by using OCL (Object Constraint Language). This is
based on a separation between primary characteristics assigned to the
``Whole-Part'' metatype, considered as necessary in the metamodel of UML, and
secondary features possessed by subtypes of this metatype. This UML-compliant
style of specification, based on the use of OCL as well as metamodelling,
allows us to directly incorporate our results into the metamodel, in
particular to revise UML's definition of Composition.
(20 pages, gzipped PostScript: 414kb via
HTTP, uncompressed PostScript: 1058kb via
HTTP)
- [Gogolla, 2001a]
- Martin Gogolla.
Formal Methods versus UML's OCL.
In Stefan Jähnichen, Jeff Kramer, Michel Lemoine, and Martin Wirsing,
editors, Can Formal Methods Cope with Software-Intensive
Systems, pages 19-20. Dagstuhl-Seminar-Report 308, 2001.
The talk explains the connection between the Unified Modeling
Language UML and its Object Constraint Language OCL. It shows OCL features by
considering the BART case study and giving a small abstract specification for
it. This specification is animated by means of the UML Specification
Environment USE developed at University of Bremen. Finally the talk discusses
to what extent OCL is different from existing formal specification
languages.
(2 pages, gzipped PostScript: 60kb via
HTTP, uncompressed PostScript: 1314kb via
HTTP)
- [Gogolla, 2001b]
- Martin Gogolla.
Using OCL for Defining Precise, Domain-Specific UML Stereotypes.
In Aybuke Aurum and Ross Jeffery, editors, Proc. 6th Australian Workshop
on Requirements Engineering (AWRE'2001), pages 51-60. Centre for
Advanced Software Engineering Research (CAESER), University of New South
Wales, Sydney, 2001.
This paper studies the extension mechanisms of the Unified
Modeling Language UML. It introduces a new appproach for defining UML
stereotypes and shows its usefulness by considering domain-specific
requirements for databases. The stereotypes introduced possess a precise
meaning by translating them into expressions formulated in the Object
Constraint Language OCL. Apart from proposing a general framework for
stereotype definition, this work is also one step in the development of a
domain-specific requirements language for information
systems.
(10 pages, gzipped PostScript: 98kb via
HTTP, uncompressed PostScript: 349kb via
HTTP)
- [Gogolla and Kobryn, 2001]
- Martin
Gogolla and Cris Kobryn, editors.
Proc. 4th Int. Conf. Unified Modeling Language (UML'2001).
Springer, Berlin, LNCS 2185, 2001.
This book contains the papers accepted for the 4th International
Conference on the Unified Modeling Language (UML'2001).
- [Gogolla and Richters, 2001]
- Martin
Gogolla and Mark Richters.
Expressing UML Class Diagrams Properties with OCL.
In Tony Clark and Jos Warmer, editors, Advances in Object Modelling with
the OCL, pages 86-115. Springer, Berlin, LNCS 2263, 2001.
The Unified Modeling Language UML is a complex language offering
many modeling features. Especially the description of static structures with
class diagrams is supported by a rich set of primitives. This paper shows how
to transfrom UML class diagrams involving cardinality constraints,
qualifiers, association classes, aggregations, compositions, and
generalizations into equivalent UML class diagrams employing only binary
associations and OCL constraints. Thus we provide a better understanding of
UML features. By reducing more complex features in terms of basic ones, we
suggest an easy way users can gradually extend the set of UML elements they
commonly apply in the modeling process.
(29 pages, gzipped PostScript: 96kb via
HTTP, uncompressed PostScript: 747kb via
HTTP)
- [Kollmann and Gogolla, 2001a]
- Ralf
Kollmann and Martin Gogolla.
Application of the UML Associations and Their Adornments in Design Recovery.
In Peter Aiken and Elizabeth Burd, editors, Proc. 8th Working Conference
on Reverse Engineering (WCRE'2001). IEEE, Los Alamitos, 2001.
Many CASE tools support reverse engineering and UML. However, it
can be observed that usually, only a subset of the UML notation is supported,
namely those parts with a more or less direct code representation. Although a
lot of research is done in this field, the more advanced features of UML
notations are not commonly supported in reverse engineering. In this paper,
we show approaches to discover patterns in program code that can be
represented by means of advanced notational features of UML class diagrams.
We obtain the necessary information by reverse engineering Java programs with
different methods. These have been implemented in a prototypical
implementation.
(10 pages, gzipped PostScript: 53kb via
HTTP, uncompressed PostScript: 163kb via
HTTP)
- [Kollmann and Gogolla, 2001b]
- Ralf
Kollmann and Martin Gogolla.
Capturing Dynamic Program Behaviour with UML Collaboration Diagrams.
In Pedro Sousa and Jürgen Ebert, editors, Proc. 5th European Conf.
Software Maintenance and Reengineering (CSMR'01), pages 58-67.
IEEE, Los Alamitos, 2001.
The UML provides means to specify both static and dynamic aspects
of object-oriented software systems and can be used to assist in all phases
of a software development process. With growing support by CASE tools, its
applications become more and more widespread. In addition to the automatic
generation of class code from diagrams, the recovery of static structure from
source code has become common, too. In this paper however, we focus on the
extraction of behavioural information from program code. We introduce a
restricted meta model for Java code and present a new approach to extract the
required data, which will then be rendered as UML collaboration
diagrams.
(10 pages, gzipped PostScript: 37kb via
HTTP, uncompressed PostScript: 137kb via
HTTP)
- [Kollmann and Gogolla, 2001c]
- Ralf
Kollmann and Martin Gogolla.
Selektive Darstellung von Programmstrukturen mit UML.
In Jürgen Ebert and Franz Lehner, editors, Proc. 3. Workshop
Software-Reengineering. Universität Koblenz, Technischer
Bericht, http://www.uni-koblenz.de/ ist/WSR2001, 2001.
Das Papier beschreibt, wie verschiedene Ansätze zur Selektion
und Transformation von durch Reverse Engineering gesammelten Informationen
dazu beitragen können, die Menge der durch Programmcode gegebenen
Informationen in komprimierter Weise darzustellen, um Lesbarkeit und
Verständnis zu erleichtern. Wir unterscheiden zwischen Abstraktion, wobei
komplexere Elemente der UML Notation von Klassendiagrammen zum Einsatz
kommen, und selektiver Darstellung, wobei die Transformation der Daten mit
einer manuellen Selektion kombiniert wird. Beim Einsatz dieser Techniken hat
sich gezeigt, daß durch die kombinierte Herangehensweise bessere
Ergebnisse erreicht werden können.
(6 pages, gzipped PostScript: 54kb via
HTTP, uncompressed PostScript: 133kb via
HTTP)
- [Lindow et al., 2001]
- Arne Lindow, Martin
Gogolla, and Mark Richters.
Ein formal validiertes Metamodell für die Transformation von Schemata in
Informationssystemen.
In K. Bauknecht, W. Brauer, and T. Mück, editors, Proc. GI
Jahrestagung (GI'2001), Band 1, Workshop Integrating Diagrammatic and Formal
Specification Techniques, pages 662-669. Austrian Computer
Society, Wien, 2001.
Dieses Papier stellt eine Verbindung von klassischen Datenmodellen
wie dem Entity-Relationship-Modell und dem relationalen Modell mit dem
Metamodellierungsansatz der Meta-Object-Facility her. Es wird eine
Modellierung sowohl für das ER-Modell als auch für das relationale
Modell vorgestellt. Ergänzend wird die Transformation von
Entity-Relationship-Schemata in relationale Schemata diskutiert. Alle drei
Ebenen werden formal spezifiziert und mit einem Werkzeug
validiert.
(8 pages, gzipped PostScript: 111kb via
HTTP, uncompressed PostScript: 3854kb via
HTTP)
- [Richters and Gogolla, 2001]
- Mark
Richters and Martin Gogolla.
OCL - Syntax, Semantics and Tools.
In Tony Clark and Jos Warmer, editors, Advances in Object Modelling with
the OCL, pages 43-69. Springer, Berlin, LNCS 2263, 2001.
The Object Constraint Language OCL allows to formally specify
constraints on a UML model. We present a formal syntax and semantics for OCL
based on set theory including expressions, invariants and pre- and
postconditions. A formal foundation for OCL makes the meaning of constraints
precise and helps to eliminate ambiguities and inconsistencies. A precise
language de nition is also a prerequisite for implementing CASE tools
providing enhanced support for UML models and OCL constraints. We give a
survey of some OCL tools and discuss one of the tools in some more detail.
The design and implementation of the USE tool supporting the validation of
UML models and OCL constraints is based on the formal approach presented in
this paper.
(27 pages, gzipped PostScript: 135kb via
HTTP, uncompressed PostScript: 524kb via
HTTP)
- [Warmer et al., 2001]
- Jos Warmer,
Anneke Kleppe, Tony Clark, Anders Ivner, Jonas Högström, Martin
Gogolla, Mark Richters, Heinrich Hussmann, Steffen Zschaler, Simon Johnston,
David S. Frankel, and Conrad Bock.
Object Constraint Language 2.0.
Technical report, Submission to the OMG, 2001.
This paper is a submission in response to the UML 2.0 OCL request
for proposals. It proposes syntax and semantics of a new version of the
Object Constraint Language OCL.
(155 pages, gzipped PostScript: 889kb via
HTTP, uncompressed PostScript: 4317kb via
HTTP)
- [Gärtner, 2000]
- Heino Gärtner.
Schematransformationen in objektorientierten
Informationssystemen.
PhD thesis, Universität Bremen, Fachbereich Mathematik und Informatik,
Shaker Verlag, Aachen, 2000.
Die vorliegende Arbeit konzentriert sich auf die Untersuchung der
vertikalen Schemaevolution und geht dabei wie folgt vor: Nachdem im folgenden
Abschnitt die benötigten Grundbegriffe aus dem Bereich der
konzeptionellen Modellierung und der Schemaevolution geklärt worden sind,
folgt zunächst die Präsentation eines einfachen Objektmodells, das im
wesentlichen die Konzepte des ER-Modells umfaßt. Danach werden die
Grundlagen von Schematransformation diskutiert und eine formal begründete
Notation zur Beschreibung von atomaren Schemaänderungsoperationen,
Schematransformationsprimitiven, vorgestellt. Mit Hilfe dieser Notation
werden zunächst Transformationen auf den Konstrukten des einfachen
Objektmodells beschrieben. Danach wird das einfache Objektmodell schrittweise
um weitergehende Konzepte erweitert und deren
Transformationsmöglichkeiten in dem präsentierten Rahmen diskutiert.
Im darauf folgenden Abschnitt werden schließlich Transformationen von
Spezifikationsanteilen, die über die Modellierung struktureller
Information hinausgehen, am Beispiel von Objektlebensläufen
erläutert. Im vorletzten Abschnitt wird die Perspektive der Spezifikation
verlassen und erörtert, wie sich der vorgestellte Ansatz in den
Softwareentwicklungsprozeß integrieren läßt. Eine Einordnung in
die bisherige Forschung und ein Ausblick auf künftige
Entwicklungsmöglichkeiten beschließt die Arbeit.
- [Gogolla, 2000]
- Martin Gogolla.
Graph Transformations on the UML Metamodel.
In Jose D.P. Rolim, Andrei Z. Broder, Andrea Corradini, Roberto Gorrieri, Reiko
Heckel, Juraj Hromkovic, Ugo Vaccaro, and Joe B. Wells, editors, Proc.
ICALP Workshop Graph Transformations and Visual Modeling
Techniques (GTVMT'2000), pages 359-371. Carleton Scientific,
Waterloo, Ontario, Canada, 2000.
The Unified Modeling Language UML is a rich language so that it
seems not feasible to give a single semantics for the complete language in
one step. In order to define the semantics, we propose to translate as many
UML language features as possible into UML itself. The part of UML which
cannot be treated in this way is called the UML core. The semantics of the
non-core language features is given by a translation into the core, whereas a
different semantics (for example a set-theoretic one or a semantics on the
basis of graphs) must be given to the UML core. It turns out that for the
first step, namely the translation of UML language features into the UML
core, graph transformations are an ideal language for expressing the required
manipulations and the UML metamodel gives the necessary fundamental
vocabulary and notions.
(13 pages, gzipped PostScript: 91kb via
HTTP, uncompressed PostScript: 371kb via
HTTP)
- [Gogolla and Kollmann, 2000]
- Martin
Gogolla and Ralf Kollmann.
Re-Documentation of Java with UML Class Diagrams.
In Eliot Chikofsky, editor, Proc. 7th Reengineering Forum, Reengineering
Week 2000 Zürich, pages REF 41-REF 48. Reengineering Forum,
Burlington, Massachusetts, 2000.
This paper describes the generation of class diagrams
characterizing the static data and class structure of Java source code. To
achieve such a diagrammatic representation, translation rules are defined
that transform Java syntax into UML notation. Attention is paid especially to
implicit and advanced properties of associations. First, an implementation
view class diagram of the Java source code is generated that reflects
program-specific details of the source code. In a second, more involved step,
we try to create a design view from the source code and also represent
certain patterns as ODMG language features. The focus of our approach is on
minimizing the resulting UML diagrams (minimal with respect to the number of
elements in the diagrams) by recognizing certain patterns in the source code
and transforming certain low-level syntactic constructs into high-level
semantic UML features.
(9 pages, gzipped PostScript: 67kb via
HTTP, uncompressed PostScript: 199kb via
HTTP)
- [Gogolla and Richters, 2000]
- Martin
Gogolla and Mark Richters.
Definition von UML mit UML und OCL: Ein Überblick zum Stand der Technik.
In Mario Jeckle, Bernhard Rumpe, Andy Schürr, and Andreas Winter, editors,
Proc. 7. GROOM-Workshop ``UML - Erweiterungen (Profile) und Konzepte
der Metamodellierung''. Universität Koblenz-Landau, Fachbereich
Informatik, 2000.
Auch: Softwaretechnik-Trends, 20:2, 2000, ISSN 0720-8928.
Das Ziel dieser Arbeit ist es, einen Überblick zum Einsatz der
Object Constraint Language OCL zum einen bei der Beschreibung von Modellen
mit der Unified Modeling Language UML und zum anderen bei der Beschreibung
des UML-Metamodells zu vermitteln. Eingang in die Überlegungen finden die
Dokumente des UML-Standards, eigene Arbeiten und weitere Papiere anderer
Arbeitsgruppen.
(2 pages, gzipped PostScript: 17kb via
HTTP, uncompressed PostScript: 38kb via
HTTP)
- [Gogolla et al., 2000]
- Martin
Gogolla, Oliver Radfelder, Ralf Kollmann, and Mark Richters.
Analysing Atomic Dynamic UML Notions by Surfing through the UML Metamodel.
In Gianna Reggio, Alexander Knapp, Bernhard Rumpe, Bran Selic, and Roel
Wieringa, editors, Proc. UML'00 Workshop Dynamic Behaviour in UML
Models, pages 57-62. LMU München, Informatik-Bericht
Nr. 0006, 2000.
This paper analyses atomic notions in UML which are fundamental
for the understanding of dynamic aspects. The notions considered are: Action,
Event, Exception, Message, Method, Signal, Stimulus, Operation, and
Reception. We surf through the UML metamodel by combining the different
metamodel class diagrams, where these notions are defined, into a single
class diagram. Thereby we point out the intent, similarities and differences
between these notions. Thus before doing a formalization, we try to make the
concepts a bit clearer than they appear in the UML Semantics
document.
(6 pages, gzipped PostScript: 44kb via
HTTP, uncompressed PostScript: 153kb via
HTTP)
- [Huge, 2000]
- Anne Kathrin Huge.
Formalisierung objektorientierter Datenbanken auf der Grundlage von
ODMG.
PhD thesis, Universität Bremen, Fachbereich Mathematik und Informatik,
Shaker Verlag, Aachen, 2000.
Die Untersuchung objektorientierter Methoden zeigt, daß die
Bereitstellung einer formalen Grundlage ein häufiges Problem ist. Dabei
stellt gerade eine formale Grundlage die Basis für ein eingehendes
Verständnis der Semantik von Modellierungs- und Spracheigenschaften dar.
Ein vergleichender Rückblick auf die generelle Entwicklung von Datenbanken
ergibt, daß sich insbesondere das relationale Datenbankmodell auf eine
wohldefinierte formale Grundlage stützt und somit den weitreichenden Erfolg
relationaler Datenbanksysteme (inklusive SQL) begründet. Ausgehend von
diesen Beobachtungen wird in dieser Arbeit eine formale Grundlage für
objektorientierte Datenbanken auf der Grundlage des ODMG-Standards
vorgestellt. Der ODMG-Standard vereinheitlicht die Konzepte
objektorientierter Datenbanken und ermöglicht Portabilität. Um die
Lücke zwischen der informellen Beschreibung von ODMG-Sprachkonstrukten und
den theoretischen Grundlagen zu schließen, wird in dieser Arbeit ein
mengentheoretischer Ansatz zur Beschreibung des ODMG-Objektmodells und der
Anfragesprache OQL vorgestellt. Nach einer eher informellen Vorstellung der
Konzepte des ODMG-Modells und deren Einbettung in die allgmeinen Konzepte
objektorientierter Datenbanken und anschließender vergleichenden
Darstellung mit anderen objektorientierten Datenmodellen und
Modellierungssprachen wird eine formale Beschreibung des ODMG-Modells und der
OQL vorgenommen. Die Formalisierung beruht auf einem Zwei-Schichten-Ansatz,
wonach zwischen einer Datenschicht und einer Objektebene differenziert wird.
Auf dies Weise erfolgt eine strikte Trennung zwischen unveränderlichen
Datentypen und veränderlichen Objekttypen. Um eine konsistente
Implementierung einer ODMG-Objektmodell-Spezifikation in einer der
Sprachanbindungen (C++, Smalltalk, Java) zu gewährleisten, wird eine
Transformation der Konstrukte des ODMG-Modells auf die entsprechenden
Konstrukte der Sprachanbindungen vorgestellt.
- [Radfelder and Gogolla, 2000]
- Oliver
Radfelder and Martin Gogolla.
On Better Understanding UML Diagrams through Interactive Three-Dimensional
Visualization and Animation.
In Vito Di Gesu, Stefano Levialdi, and Laura Tarantino, editors, Proc.
Advanced Visual Interfaces (AVI'2000), pages 292-295. ACM Press,
New York, 2000.
Different approaches support the construction of software by
representing certain aspects of a system graphically. Recently, the UML has
become common to provide software designers with tools, in which they can
create visual representations of software interactively. But the UML is
intended to be drawn on two-dimensional surfaces. Our approach extends UML
into a third and fourth dimension in a way that we can place both static and
dynamic aspects in one single view. By this, we can show behavior in the
context of structural aspects, instead of drawing different diagrams for each
aspect with only loose relation to each other. We also use the third
dimension to emphasize important things and to place less interesting things
in the background. Thereby, we direct the viewer's attention to the important
things in the foreground. Currently, UML shows dynamic behavior by diagrams
which do not change and are therefore static in nature. In sequence diagrams,
for example, time elapses from the top of the diagram to the bottom. We point
out that behavior is better visualized by animated diagrams where message
symbols move from the sender object to the receiver object. Our approach
supports the creation of a system as well as the communication of its dynamic
processes especially to customers.
(4 pages, gzipped PostScript: 526kb via
HTTP, uncompressed PostScript: 851kb via
HTTP)
- [Radfelder et al., 2000]
- Oliver
Radfelder, Martin Gogolla, and Volker Behr.
Entwurf und Implementierung eines Internet-basierten
Material-Informationssystems.
Interner Bericht, Universität Bremen, Fachbereich 3, 2000.
Das Projekt Material-Informationssystem hatte das Ziel, ein System
zu entwickeln, mit dem Personen und Institutionen aus dem Bereich
Verbundwerkstoffe auf einen gemeinsamen Produktdatenbestand zugreifen
können. Wir haben ein System entwickelt, das den Zugriff über das
Internet ermöglicht. Als Benutzungsschnittstelle wird lediglich ein
Webbrowser vorausgesetzt anstatt eine vollständige Applikation auf den
Rechnern der Teilnehmer zu installieren. Während der ersten Projektphase
wurden die Anforderungen an ein solches neues System analysiert und ein
Prototyp entworfen und implementiert. In der zweiten Projektphase wurde das
System als Server mit Hilfe von SQL und Java implementiert.
(28 pages, gzipped PostScript: 319kb via
HTTP, uncompressed PostScript: 969kb via
HTTP)
- [Richters and Gogolla, 2000a]
- Mark
Richters and Martin Gogolla.
Validating UML Models and OCL Constraints.
In Andy Evans and Stuart Kent, editors, Proc. 3rd Int. Conf. Unified
Modeling Language (UML'2000), pages 265-277. Springer, Berlin,
LNCS 1939, 2000.
The UML has been widely accepted as a standard for modeling
software systems and is supported by a great number of CASE tools. However,
UML tools often provide only little support for validating models early
during the design stage. Also, there is generally no substantial support for
constraints written in the Object Constraint Language (OCL). We present an
approach for the validation of UML models and OCL constraints that is based
on animation. The USE tool (UML-based Specification Environment) supports
developers in this process. It has an animator for simulating UML models and
an OCL interpreter for constraint checking. Snapshots of a running system can
be created, inspected, and checked for conformance with the model. As a
special case study, we have applied the tool to parts of the UML 1.3
metamodel and its well-formedness rules. The tool enabled a thorough and
systematic check of the OCL well-formedness rules in the UML
standard.
(13 pages, gzipped PostScript: 90kb via
HTTP, uncompressed PostScript: 377kb via
HTTP)
- [Richters and Gogolla, 2000b]
- Mark
Richters and Martin Gogolla.
Validierung von UML-Modellen und OCL-Bedingungen.
In Martin Wirsing, Martin Gogolla, Hans-Jörg Kreowski, Tobias Nipkow, and
Wolfgang Reif, editors, Proc. GI'2000 Workshop Rigorose Entwicklung
software-intensiver Systeme, pages 21-32. LMU München,
Informatik-Bericht Nr. 0005, 2000.
Die Unified Modeling Language (UML) ist ein allgemein akzeptierter
Standard für die Modellierung von Software-Systemen und wird als solcher
von einer großen Anzahl von CASE-Tools unterstützt. Oft weisen
UML-Werkzeuge nur wenig Unterstützung für die Validierung von
Modellen in frühen Entwurfsphasen auf. Es gibt im allgemeinen auch keine
nennenswerte Unterstützung für Integritätsbedingungen, die in der
Object Constraint Language (OCL) geschrieben sind. Wir stellen daher einen
Ansatz für die Validierung von UML-Modellen und OCL-Bedingungen vor, der
diese Unterstützung bereitstellt. Das USE-Werkzeug (UML-based
Specification Environment) bietet einen Animator zum Simulieren von
UML-Modellen und einen OCL-Interpreter für die überprüfung von
Bedingungen. Einzelne Zustände eines laufenden Systems können
untersucht und auf übereinstimmung mit dem Modell überprüft
werden.
(12 pages, gzipped PostScript: 83kb via
HTTP, uncompressed PostScript: 328kb via
HTTP)
- [Astesiano et al.,
1999]
- Egidio Astesiano, Andy Evans, Robert France, Guy Geniloud,
Martin Gogolla, Brian Henderson Sellers, John Howse, Heinrich Hussmann,
Shusaku Iida, Stuart Kent, Alain Le Guennec, Tom Mens, Richard Mitchell,
Oliver Radfelder, Gianna Reggio, Mark Richters, Bernhard Rumpe, Perdita
Stevens, Klaas van den Berg, Pim van den Broek, and Roel Wieringa.
UML Semantics FAQ.
In Ana Moreira and Serge Demeyer, editors, ECOOP'99 Workshop
Reader, pages 33-56. Springer, Berlin, LNCS 1743, 1999.
This paper reports the results of a workshop held at ECOOP'99. The
workshop was set up to find answers to questions fundamental to the
definition of a semantics for the Unified Modelling Language. Questions
examined the meaning of the term semantics in the context of UML; approaches
to defining the semantics, including the feasibility of the meta-modelling
approach; whether a single semantics is desirable and, if not, how to set up
a framework for defining multiple, interlinked semantics; and some of the
outstanding problems for defining a semantics for all of
UML.
(25 pages, gzipped PostScript: 952kb via
HTTP, uncompressed PostScript: 5795kb via
HTTP)
- [Gogolla, 1999]
- Martin Gogolla.
Identifying Objects by Declarative Queries.
In Mike P. Papazoglou, Stefano Spaccapietra, and Zahir Tari, editors,
Advances in Object-Oriented Data Modeling, pages 255-277.
MIT Press, 1999.
Object identification in data models, especially in semantic,
Entity-Relationship, and Object-Oriented data models is studied. Various
known approaches to object identification are shown, and an alternative
proposal to the topic is put forward. The main new idea is to attach to each
object type an arbitrary query, a so-called observation term, in order to
observe a unique, identifying property of objects of the corresponding
type.
(25 pages, gzipped PostScript: 138kb via
HTTP, uncompressed PostScript: 682kb via
HTTP)
- [Gogolla and Richters, 1999]
- Martin
Gogolla and Mark Richters.
Transformation Rules for UML Class Diagrams.
In Jean Bezivin and Pierre-Alain Muller, editors, Proc. 1st Int.
Workshop Unified Modeling Language (UML'98), pages 92-106.
Springer, Berlin, LNCS 1618, 1999.
UML is a complex language with many modeling features. Especially
the modeling of static structures with class diagrams is supported by a rich
set of description primitives. We show how to transfrom UML class diagrams
involving cardinality constraints, qualifiers, association classes,
aggregations, compositions, and generalizations into equivalent UML class
diagrams employing only n-ary associations and OCL constraints. This provides
a better understanding of UML features. By explaining more complex features
in terms of basic ones, we suggest an easy way users can gradually extend the
set of UML elements they commonly apply in the modeling
process.
(15 pages, gzipped PostScript: 87kb via
HTTP, uncompressed PostScript: 431kb via
HTTP)
- [Gogolla et al., 1999a]
- Martin
Gogolla, Oliver Radfelder, and Mark Richters.
A UML Semantics FAQ - The View from Bremen.
In S.J.H. Kent, A. Evans, and B. Rumpe, editors, Proc. ECOOP'99 Workshop
UML Semantics FAQ. University of Brighton, 1999.
This note spells out questions the authors found while studying
the material defining the Unified Modeling Language UML. After formulating a
preliminary question in Sec. 1, some detailed questions with answers and some
detailed questions without answers are given in Sec. 2 and 3, respectively.
Sections 4 and 5 just state questions with and without answers but we do not
go into details explaining the importance of the questions. Our answers to
the `questions with answers' can be found in our recent. In Sec. 6, a short
hint to relevant literature ends this note.
(10 pages, gzipped PostScript: 87kb via
HTTP, uncompressed PostScript: 523kb via
HTTP)
- [Gogolla et al., 1999b]
- Martin Gogolla,
Oliver Radfelder, and Mark Richters.
Towards Three-Dimensional Representation and Animation of UML Diagrams.
In Robert France and Bernhard Rumpe, editors, Proc. 2nd Int. Conf.
Unified Modeling Language (UML'99), pages 489-502. Springer,
Berlin, LNCS 1723, 1999.
The UML notation is intended to be drawn on two-dimensional
surfaces. However, three-dimensional diagram layout and animation may improve
comprehension of complex diagrams significantly. The paper concentrates on
special UML diagram forms well-suited for advanced visualization. It makes a
proposal for representing and animating such UML diagrams in a
three-dimensional style.
(14 pages, gzipped PostScript: 558kb via
HTTP, uncompressed PostScript: 1845kb via
HTTP)
- [Radfelder et al., 1999]
- Oliver
Radfelder, Martin Gogolla, and Volker Behr.
On Designing and Querying a Material Information System.
In M. Türksever, N.Y. Topaloglu, N. Zincir-Heywood, A. Kantarci, C.A.
Sürgevil, and Ö. Özmen, editors, Proc. 14th Int. Symposium
Computer and Information Science (ISCIS'99), pages 132-142. Ege
University, Izmir, 1999.
We present an information system which has been developed in
cooperation with a composite material development laboratorium and other
industrial partners. The system enables people interested in this field to
get knowledge about project participants and their offers. The main purpose
of the development was to let all the involved people participate regardless
of their technical skills. One precondition to achieve this goal was the
development of an easy-to-learn graphical query language. The implementation
has been led by the demand for platform independence and the necessity to
involve the project participants in the maintenance of the
data.
(11 pages, gzipped PostScript: 33kb via
HTTP, uncompressed PostScript: 123kb via
HTTP)
- [Richters and Gogolla, 1999a]
- Mark
Richters and Martin Gogolla.
A Metamodel for OCL.
In Robert France and Bernhard Rumpe, editors, Proc. 2nd Int. Conf.
Unified Modeling Language (UML'99), pages 156-171. Springer,
Berlin, LNCS 1723, 1999.
The Object Constraint Language (OCL) allows the extension of UML
models with constraints in a formal way. While the UML itself is defined by
following a metamodeling approach, there is currently no equivalent
definition for the OCL. We propose a metamodel for OCL that fills this gap.
The benefit of a metamodel for OCL is that it precisely defines the syntax of
all OCL concepts like types, expressions, and values in an abstract way and
by means of UML features. Thus, all legal OCL expressions can be
systematically derived and instantiated from the metamodel. We also show that
our metamodel smoothly integrates with the UML metamodel. The focus of this
work lies on the syntax of OCL; the metamodel does not include a definition
of the semantics of constraints.
(16 pages, gzipped PostScript: 82kb via
HTTP, uncompressed PostScript: 265kb via
HTTP)
- [Richters and Gogolla, 1999b]
- Mark
Richters and Martin Gogolla.
On the Need for a Precise OCL Semantics.
In Robert France, Bernhard Rumpe, Brian Henderson-Sellers, Jean-Michel Bruel,
and Ana Moreira, editors, Proc. OOPSLA Workshop ``Rigorous Modeling
and Analysis with the UML: Challenges and Limitations''. Colorado
State University, Fort Collins, Colorado, 1999.
In our view a formalization of the OCL is beneficial for achieving
the following goals: (1) Improvement of the OCL itself by pointing out some
potential problems with its current definition, (2) a more precise
understanding of UML class models and their interpretation, (3) a solid
foundation for implementing CASE tools supporting analysis, simulation and
validation of UML models. We also feel that there is one aspect of OCL which
often gets underrated. OCL expressions cannot only be used to specify
constraints, but more generally, one can utilize them to specify queries
retrieving non-trivial information about certain objects in a given system
state. These queries can then be translated into statements of a query
language of the chosen implementation environment. A precise OCL semantics
would obviously facilitate a more systematic description of a translation
scheme from OCL to e.g. SQL or the ODMG's Object Query Language
(OQL).
(3 pages, gzipped PostScript: 36kb via
HTTP, uncompressed PostScript: 84kb via
HTTP)
- [Wagner and Gogolla,
1999]
- Annika Wagner and Martin Gogolla.
Semantics of Object-Oriented Languages.
In Hartmut Ehrig, Gregor Engels, Hans-Jörg Kreowski, and Gregorz Rozenberg,
editors, Handbook of Graph Grammars and Computing by Graph
Transformation, Volume II, Applications, Languages, and Tools, pages
181-211. World Scientific, Singapore, 1999.
Graph transformations can be applied everywhere, where graphs are
used as a natural and intuitive description of complex phenomena. One field
where this is the case is object modeling. The important role graphs play
during object-oriented analysis and design shows their usefulness in the
context of object orientation. A main characteristic of graph transformations
is its direct operational executability. Combining both observations, it
seems to be natural to use graph transformations to specify the operational
behavior of objects. In this contribution we follow this idea by providing an
operational semantics for the textual object description language TROLL light by means of graph transformations. But this is not the only possible
application of graph transformations in the object-oriented field because
what we are doing can be used also in combination with the graphical object
modeling language UML.
(16 pages, gzipped PostScript: 312kb via
HTTP, uncompressed PostScript: 714kb via
HTTP)
- [Cerioli et al., 1998]
- Maura
Cerioli, Martin Gogolla, Helene Kirchner, Bernd Krieg-Brückner, Zhenyu
Qian, and Markus Wolf, editors.
Algebraic System Specification and Development - Survey and Annotated
Bibliography.
Monographs of the Bremen Institute of Safe Systems (BISS). Shaker, Aachen,
1998.
This book is an annotated bibliography that attempts to provide an
up-to-date overview of most past and present work on algebraic specification
for researchers in algebraic specification and neighbouring fields. It
extends the previous annotated bibliography by Bidoit, Kreowski, Lescanne,
Orejas and Sannella. A review of the main topics of current and past research
is given, with some indication of how the different approaches are related
and pointers to relevant papers.
(142 pages, gzipped PostScript: 383kb via
HTTP, uncompressed PostScript: 1535kb via
HTTP)
- [Gogolla, 1998]
- Martin Gogolla.
UML for the Impatient.
Research Report 3/98, Universität Bremen, 1998.
By examples we give a short introduction into the nine diagram
forms provided by the Unified Modeling Language (UML). The running example we
use is a small traffic light system which we first formally describe in an
object specification language. Afterwards, central aspects of the
specification and the specified system are visualized with UML constructs. As
a conclusion, we discuss a classification of the various UML diagram
forms.
(23 pages, gzipped PostScript: 140kb via
HTTP, uncompressed PostScript: 886kb via
HTTP)
- [Gogolla and Parisi-Presicce,
1998]
- Martin Gogolla and Francesco Parisi-Presicce.
State Diagrams in UML - A Formal Semantics using Graph Transformation.
In Manfred Broy, Derek Coleman, Tom Maibaum, and Bernhard Rumpe, editors,
Proc. ICSE'98 Workshop on Precise Semantics of Modeling
Techniques (PSMT'98), pages 55-72. Technical University of
Munich, Technical Report TUM-I9803, 1998.
We show how to transform UML (Unified Modeling Language) state
diagrams into graphs by making explicit the intended semantics of the
diagram. The process of state expansion in nested state diagrams is explained
by graph transformations in three steps: (1) adding boundary nodes
introducing a precise interface for the state to be expanded, (2) expanding
the state, and (3) removing the boundary nodes. The general idea of
approaching the semantics of UML diagrams by graph transformations is
applicable to other forms of UML diagrams as well. The main advantage of the
graph transformation approach is the closeness between the (mathematical)
graph representation and the (UML) diagram representation.
(18 pages, gzipped PostScript: 111kb via
HTTP, uncompressed PostScript: 649kb via
HTTP)
- [Gogolla and Richters, 1998]
- Martin
Gogolla and Mark Richters.
On Combing Semi-Formal and Formal Object Specification Techniques.
In Francesco Parisi-Presicce, editor, Proc. 12th Int. Workshop Abstract
Data Types (WADT'97), pages 238-252. Springer, Berlin,
LNCS 1376, 1998.
In the early phases of software development it seems profitable to
freely mix semi-formal and formal design techniques. Formal techniques have
their strength in their ability to rigorously define desired software
qualities like functionality, whereas semi-formal methods are usually said to
be easier to understand and to be more human-nature oriented. We propose a
new approach in order to combine these two areas by exploiting how constructs
of the formal specification language TROLL light are related to the graphical
elements of the UML approach.
(16 pages, gzipped PostScript: 77kb via
HTTP, uncompressed PostScript: 353kb via
HTTP)
- [Gogolla et al., 1998]
- Martin Gogolla,
Anne Kathrin Huge, and Bodo Randt.
Stepwise Re-Engineering and Development of Object-Oriented Database Schemata.
In Roland R. Wagner, editor, Proc. 9th Int. Workshop Database and Expert
Systems Applications (DEXA'98). IEEE, Los Alamitos, 1998.
We present a general approach for re-engineering of
object-oriented database schemata. The approach consists of four dependent
steps: (1) description of the data within the underlying basic data format,
(2) application of a powerful semantic data model in order to construct a
semantic database schema, (3) translation of the achieved schema into a
general object model, and (4) implementation of the object schema in a
concrete object-oriented database system. As an instantiation of this general
procedure we report on a case study carried out in an industrial context
where an Extended Entity-Relationship model was used as the semantic data
model and ObjectStore as the implementation platform.
(6 pages, gzipped PostScript: 40kb via
HTTP, uncompressed PostScript: 123kb via
HTTP)
- [Richters and Gogolla, 1998]
- Mark
Richters and Martin Gogolla.
On Formalizing the UML Object Constraint Language OCL.
In Tok-Wang Ling, Sudha Ram, and Mong Li Lee, editors, Proc. 17th Int.
Conf. Conceptual Modeling (ER'98), pages 449-464. Springer,
Berlin, LNCS 1507, 1998.
We present a formal semantics for the Object Constraint Language
(OCL) which is part of the Unified Modeling Language (UML) -- an emerging
standard language and notation for object-oriented analysis and design. In
context of information systems modeling, UML class diagrams can be utilized
for describing the overall structure, whereas additional integrity
constraints and queries are specified with OCL expressions. By using OCL,
constraints and queries can be specified in a formal yet comprehensible way.
However, the OCL itself is currently defined only in an informal way. Thus
the semantics of constraints is in general not precisely defined. Our
approach gives precise meaning to OCL concepts and to some central aspects of
UML class models. In consequence, a formal semantics facilitates
verification, validation and simulation of models improving the quality of
models and software design.
(16 pages, gzipped PostScript: 103kb via
HTTP, uncompressed PostScript: 472kb via
HTTP)
- [Richters et al., 1998]
- Mark Richters,
Martin Gogolla, and Heino Gärtner.
SIGN - Software Implementierung durch Graphische Notation.
Interner Bericht, Universität Bremen, Fachbereich 3, 1998.
Das studentische Projekt SIGN (Software Implementierung durch
Graphische Notation) wurde an der Universität Bremen von 1996 bis 1998
durchgeführt. Ziel des Projektes war die Entwicklung einer graphischen
Modellierungssprache zur Unterstützung des objektorientierten
Systementwurfs. Zur praktischen Umsetzung der Modellierungssprache wurde
außerdem eine Entwicklungsumgebung entworfen und implementiert. Sowohl
Sprache als auch das Entwicklungssystem wurden durchgehend objektorientiert
entwickelt. Dabei wurde im Rahmen der Metamodellierung auch die zu
entwerfende Sprache selbst eingesetzt. Dieses Papier faßt die Ziele,
Methoden und Ergebnisse des Projektes zusammen.
(9 pages, gzipped PostScript: 82kb via
HTTP, uncompressed PostScript: 480kb via
HTTP)
- [Buddrus et al., 1997]
- Frank Buddrus,
Heino Gärtner, and Sven-Eric Lautemann.
First Steps to a Formal Framework for Multilevel Database Modifications.
In A. Hameurlain and A Min Tjoa, editors, Proc. 8th Int. Conf. Database
and Expert Systems Applications (DEXA'97), pages 240-251.
Springer, Berlin, LNCS 1308, 1997.
We propose a formal basis for operations which can be understood
as implicitly used in many kinds of schema modifications. Approaches for view
definition, schema evolution, and schema versioning all rely on operations
which work either on instance, on schema, or on both levels. This paper
discusses a basic set of these operations called modification primitives and
describes their semantics on the basis of the Extended Entity Relationship
(EER) Model in a Hoare-style notation. We focus on the structural part of the
schema definition and outline our ideas for arbitrary manipulations of
instances.
(13 pages, gzipped PostScript: 82kb via
HTTP, uncompressed PostScript: 383kb via
HTTP)
- [Gärtner, 1997]
- Heino Gärtner.
Perspectives for a Formal Framework for Schema Modification in Object
Databases.
In D.J. Ram, editor, Proc. 8th Int. Conf. Management of
Data (COMAD'97), pages 238-249. Narosa, New Delhi, 1997.
This paper proposes a formal basis for the description of schema
modification in object databases. We identify three necessary building blocks
for the structural aspect of such a description: (i) basic schema and
database objects, (ii) properties of (classes of) schema and database
objects, and (iii) schema modifications, i.e. transitions between schemata
and transitions between database states. The semantics for the basic schema
and database objects is given in a denotational style. Properties of schemata
can be described as formulas. For schema modification we introduce a set of
schema modification primitives and describe their semantics by means of pre-
and postcondition in a Hoare-style notation. We focus on the structural
aspects of schema modification and describe some simple properties of our
framework.
(12 pages, gzipped PostScript: 96kb via
HTTP, uncompressed PostScript: 476kb via
HTTP)
- [Gogolla, 1997]
- Martin Gogolla.
On Behavioral Model Quality and Transformation.
In Stephen W. Liddle, Stephen W. Clyde, and Scott N. Woodfield, editors,
Proc. 16th Int. Conf. on Conceptual Modeling (ER'97), Workshop on
Behavioral Models and Design Transformations.
verb !http://osm7.cs.byu.edu/ER97/workshop4!, 1997.
This statement reflects experience of our group in conceptual
modelling with Entity-Relationship and object-oriented approaches. It
describes a general view on structural and behavioral aspects of conceptual
models, their interrelationships, and their transformations, and sketches a
proposal to build integrated models of them.
(4 pages, gzipped PostScript: 54kb via
HTTP, uncompressed PostScript: 279kb via
HTTP)
- [Gogolla and Parisi-Presicce,
1997]
- Martin Gogolla and Francesco Parisi-Presicce.
State Diagrams in UML - A Formal Semantics using Graph Transformation.
Rapporto di Ricerca 97/15, University of Rome `La Sapienza', Dipartimento
di Scienze dell' Informazione, 1997.
We show how to transform UML (Unified Modeling Language) state
diagrams into graphs by making explicit the intended semantics of the
diagram. The process of state expansion in nested state diagrams is explained
by graph transformations in three steps: (1) adding boundary nodes
introducing a precise interface for the state to be expanded, (2) expanding
the state, and (3) removing the boundary nodes. The general idea of
approaching the semantics of UML diagrams by graph transformations is
applicable to other forms of UML diagrams as well. The main advantage of the
graph transformation approach is the closeness between the (mathematical)
graph representation and the (UML) diagram representation.
(19 pages, gzipped PostScript: 112kb via
HTTP, uncompressed PostScript: 685kb via
HTTP)
- [Gogolla and Richters, 1997a]
- Martin
Gogolla and Mark Richters.
On Constraints and Queries in UML.
In Martin Schader and Axel Korthaus, editors, Proc. UML'97 Workshop `The
Unified Modeling Language - Technical Aspects and Applications',
pages 109-121. Physica-Verlag, Heidelberg, 1997.
The UML has recently been extended by an Object Constraint
Language (OCL). This formal language can be used for specifying constraints
on a model in order to restrict possible system states. We present some
examples for illustrating main concepts of OCL. Problems with the current
definition of OCL resulting from imprecise or ambiguous definitions are
investigated. A comparison of OCL with a language for specification of
queries and integrity constraints in an Extended Entity-Relationship model
shows similarities between both approaches. This comparison could lead to a
better understanding of OCL.
(14 pages, gzipped PostScript: 86kb via
HTTP, uncompressed PostScript: 456kb via
HTTP)
- [Gogolla and Richters,
1997b]
- Martin Gogolla and Mark Richters.
Web-Based Object Animation.
In Hans-Dieter Ehrich, Yulin Feng, and David Kung, editors,
Object-Oriented Software Development, pages 16-16.
Dagstuhl-Seminar-Report Nr. 174, 1997.
The current activities of our group comprises concrete case
studies arising from practical projects: (1) Reengineering of a tram
simulation system and (2) development of a material information system. Both
projects use object-oriented description techniques on a
semi-formal (OMT-like) and formal (TROLL-like) level. Semi-formal techniques
are also the topic of a student project (18 students, 2 years). The aim of
this student project is the development of an OMT design system. The formal
basis for the above activities is the object description language TROLL
light. Our group already has experience with implementations of this language
on different platforms. The current implementation uses Java. The talk
explains the user-interface of the current animation system which is based on
HTML documents. Thus any Web browser can be employed for the validation of
specifications. For demonstration purposes we use a small description of a
car rentals case system.
(1 pages, gzipped PostScript: 15kb via
HTTP, uncompressed PostScript: 86kb via
HTTP)
- [Richters, 1997]
- Mark Richters.
jtrl User Manual.
Internal Report, Universität Bremen, 1997.
This manual provides information on using the jtrl system for
developing and validating specifications written in the TROLL light language.
Such specifications are used for modeling information systems as a set of
interacting and communicating objects. With jtrl a model can be validated by
direct execution (also called animation) of its specification. The manual
presents all steps necessary to work with jtrl. These include instructions on
system usage via the various user interfaces: command line, Web interface,
and the graph visualization tool daVinci. A complete list of builtin
operations and a grammar serve as reference for the language supported by
jtrl.
(26 pages, gzipped PostScript: 162kb via
HTTP, uncompressed PostScript: 921kb via
HTTP)
- [Richters and Gogolla, 1997a]
- Mark
Richters and Martin Gogolla.
A Web-based Animator for Validating Object Specifications.
In Bipin C. Desai and Barry Eaglestone, editors, Proc. Int. Database
Engineering and Applications Symposium (IDEAS'97), pages 211-219.
IEEE, Los Alamitos, 1997.
One of the central tasks in developing information systems is the
specification of desired system properties. We use the object specification
language TROLL light to formalize the conceptual model of a system. A TROLL
light specification describes structural as well as dynamic characteristics
of objects representing real-world entities. For validating specifications,
we have developed an animation tool allowing us to reflect structural
properties and dynamic behavior. The main concepts of the animator are
illustrated by a working example. We present a simple specification of a car
rental company and describe some of the steps performed during a typical
animation session. The animation allows to check whether desired properties
are fulfilled by the given object descriptions. Finally, some design and
implementation issues regarding the utilized persistent programming
environment and the Web-based user interface are discussed.
(9 pages, gzipped PostScript: 106kb via
HTTP, uncompressed PostScript: 701kb via
HTTP)
- [Richters and Gogolla, 1997b]
- Mark
Richters and Martin Gogolla.
A Web User Interface for an Object Specification Language.
In Michel Bidoit, editor, Proc. 7th Int. Joint Conf. on Theory and
Practice of Software Development (TAPSOFT'97), pages 867-870.
Springer, Berlin, LNCS 1214, 1997.
We present an animation tool for the formal specification language
TROLL light. The system allows the manipulation and querying of objects and
navigation through object hierarchies. A Web-based user interface simplifies
the usage of the system.
(5 pages, gzipped PostScript: 69kb via
HTTP, uncompressed PostScript: 436kb via
HTTP)
- [Claßen et al., 1996]
- Ingo
Claßen, Martin Gogolla, and Michael Löwe.
Dynamics in Information Systems - An Algebraic Approach to Specification,
Construction and Correctness.
Forschungsbericht 96/01, Technische Universität Berlin, 1996.
A formal framework based on algebraic graph theory is presented
that integrates specification and construction of dynamics in information
systems. Specifications are based on temporal logic whose semantics is given
by algebras and partial homomorphisms. Constructions are given by graph
transformation rules whose operational nature provides a first step towards
actual implementations. Both are related by a correctness notion. The formal
framework is especially suited as a semantical basis for graphical notations
as used in conceptual modeling, thus combining intuitiveness of such
notations with precision of formal methods.
(21 pages, gzipped PostScript: 80kb via
HTTP, uncompressed PostScript: 225kb via
HTTP)
- [Gärtner and Gogolla, 1996]
- Heino
Gärtner and Martin Gogolla.
LASSY - A System for Analysing Grammatical Dependencies in Latin.
In Roland R. Wagner and Helmut Thoma, editors, Proc. 7th Int. Workshop
Database and Expert Systems Applications (DEXA'96), pages 275-284.
IEEE, Los Alamitos, 1996.
We introduce the Latin analysis system Lassy, a slim system for
analyzing Latin sentences. Tools for interacting with a database for
morphological features are integrated as well as an interface for defining
and applying a grammar database. We also give a small outline of the grammar
model used in Lassy which is a pragmatic integration of linguistic theories
known from both dependency and phrase structure grammar.
(10 pages, gzipped PostScript: 105kb via
HTTP, uncompressed PostScript: 577kb via
HTTP)
- [Gogolla, 1996a]
- Martin Gogolla.
Parameterizing Object Specifications.
In Luigia Aiello, editor, Proc. 4th Int. Symposium Design and
Implementation of Symbolic Computation Systems (DISCO'96), pages
126-137. Springer, Berlin, LNCS 1128, 1996.
We present a proposal for parameterized object specifications
allowing especially objects sorts in the parameter. These object
specifications permit to describe the part of the world to be modeled as an
object community of concurrently existing and communicating objects. Our
proposal for parameter passing works well on the syntactical level by means
of a pushout construction. On the semantic level we use free constructions
and corresponding forgetful functors.
(12 pages, gzipped PostScript: 47kb via
HTTP, uncompressed PostScript: 152kb via
HTTP)
- [Gogolla, 1996b]
- Martin Gogolla.
Towards Object Visualization by Conceptual Graphs.
In Peter W. Eklund, Gerard Ellis, and Graham Mann, editors, Proc. 4th
Int. Conf. Conceptual Structures (ICCS'96), Auxiliary Proceedings,
pages 175-188. University of New South Wales, Sydney, 1996.
The specification language TROLL light allows to describe the part
of the world to be modeled in the information system design process as a
community of concurrently existing and communicating objects. It follows the
object paradigm by coherently describing structure as well behavior of
conceptual objects. A TROLL light specification is divided into a signature
part and an axiom part where formulas over the signature characterizing the
object are formulated. Conceptual graphs are employed to visualize object
schemata as well as object instances. Thereby, we provide a uniform platform
for representing static and dynamic properties of objects and reasoning about
them. By giving appropriate graph substitution rules, conceptual structures
are capable to express system dynamics as well.
(14 pages, gzipped PostScript: 82kb via
HTTP, uncompressed PostScript: 240kb via
HTTP)
- [Gogolla and Richters,
1996]
- Martin Gogolla and Mark Richters.
An Object Specification Language Implementation with Web User Interface based
on Tycoon.
In Hartmut Ehrig, Friedrich von Henke, Jose Meseguer, and Martin Wirsing,
editors, Specification and Semantics, pages 8-11.
Dagstuhl-Seminar-Report Nr. 151, 1996.
We concentrate on the user interface of a TROLL light
implementation based on Tycoon. The implementation employs a normal Web
browser (Netscape, Mosaic, etc.) for both the exploration of template, i.e.
object type, descriptions and objects, i.e. instances of these templates. In
particular, objects are represented by HTML documents and object references
can be followed simply with the Web browser.
(3 pages, gzipped PostScript: 47kb via
HTTP, uncompressed PostScript: 267kb via
HTTP)
- [Meyer et al., 1996]
- Bernd Meyer,
Gerhard D. Westerman, and Martin Gogolla.
Drafting ER and OO Schemas in Prototyping Environments.
Journal on Data and Knowledge Engineering, Elsevier, NL,
19(3):201-240, 1996.
The system QUEER is a prototype of an information system design
tool which directly supports an extended Entity-Relationship model on its
front-end and uses a semantically well-founded query and manipulation
language based on an Entity-Relationship calculus. The system basically
consists of a set of compilers written in PROLOG which translate data
specifications, schema definitions, queries, integrity constraints, and
data-manipulation statements into PROLOG programs. All features mentioned are
implemented in form and extent as described here.
(48 pages, gzipped PostScript: 106kb via
HTTP, uncompressed PostScript: 353kb via
HTTP)
- [Wagner and Gogolla,
1996]
- Annika Wagner and Martin Gogolla.
Defining Operational Behavior of Object Specifications by Attributed Graph
Transformations.
Journal on Fundamenta Informaticae, IOS Press, NL,
3,4:407-431, 1996.
A single pushout approach to the transformation of attributed
partial graphs based on categories of partial algebras and partial morphisms
is introduced. A sufficient condition for pushouts in these categories is
presented. As the synchronization mechanism we use amalgamation of rules and
show how synchronization can be minimized. We point out how the results
obtained can be employed in order to define an operational semantics for
object specification languages.
(25 pages, gzipped PostScript: 93kb via
HTTP, uncompressed PostScript: 348kb via
HTTP)
- [Conrad et al., 1995]
- Stefan Conrad,
Grit Denker, Martin Gogolla, Rudolf Herzig, Nikolaos Vlachantonis, and
Hans-Dieter Ehrich.
Entwicklung zuverlässiger Informationssysteme.
GI EMISA-Forum, 2:25-33, 1995.
Ausgehend von einem einfachen objektorientierten Ansatz zur
Modellierung von Objektgesellschaften als Informationssysteme wird
insbesondere eine geeignete Entwicklungsumgebung konzipiert, der Bereich
Validation von Objektspezifikationen mittels Animation untersucht und ein
Beweisunterstützungssystem entworfen, das formale Nachweise von
Objekteigenschaften ermöglicht. Ziel ist die Entwicklung von
Informationssystemen auf der Grundlage von objektorientierten
Datenbanksystemen.
(9 pages, gzipped PostScript: 90kb via
HTTP, uncompressed PostScript: 234kb via
HTTP)
- [Gogolla, 1995a]
- Martin Gogolla.
A Declarative Query Approach to Object Identification.
In Mike Papazoglou, editor, Proc. 14th Int. Conf. Object-Oriented and
Entity-Relationship Modelling (ER'95), pages 65-76. Springer,
Berlin, LNCS 1021, 1995.
Object identification in data models, especially in semantic,
Entity-Relationship, and object-oriented data models is studied. Various
known approaches to object identification are shown, and an alternative
proposal to the topic is put forward. The main new idea is to attach to each
object type an arbitrary query in order to observe a unique, identifying
property of objects of the corresponding type.
(12 pages, gzipped PostScript: 47kb via
HTTP, uncompressed PostScript: 165kb via
HTTP)
- [Gogolla, 1995b]
- Martin Gogolla.
Identifying Objects by Declarative Queries.
In Jan Chomicki, Gunter Saake, and Christina Sernadas, editors, The Role
of Logics in Information Systems. Dagstuhl-Seminar-Report Nr. 121,
1995.
In this talk we study object identification in data models,
especially in semantic, Entity-Relationship, and object-oriented data models.
Various known approaches to object identification are shown, and an
alternative proposal to the topic is put forward. The main new idea is to
attach to each object type an arbitrary query in order to observe a unique,
identifying property of objects of the corresponding type. This proposal
seems to be more general than the well-known ``deep equality'' approach. The
talk is organized as follows. First we introduce an example schema which will
be used throughout the paper, and sketch the interpretation of object schemas
in an informal way. Several known and our new proposal (the so-called
observation term approach) to object identification are studied afterwards.
The advantages of our new proposal are discussed, and its formal definition
is mentioned. The talk ends with some concluding remarks.
(1 pages, gzipped PostScript: 16kb via
HTTP, uncompressed PostScript: 89kb via
HTTP)
- [Gogolla, 1995c]
- Martin Gogolla.
Towards Schema Queries for Semantic Data Models.
In Norman Revell and A Min Tjoa, editors, Proc. 6th Int. Conf. and
Workshop on Database and Expert Systems Applications (DEXA'95), pages
274-283. ONMIPRESS, San Mateo, 1995.
We contribute to metadata management by giving a specification of
extended Entity-Relationship schemas with the extended Entity-Relationship
model itself. We formulate a number of integrity constraints describing the
context-sensitive requirements an extended Entity-Relationship schema has to
fulfill. By doing this, a certain class of schema queries can be
formulated.
(10 pages, gzipped PostScript: 66kb via
HTTP, uncompressed PostScript: 176kb via
HTTP)
- [Gogolla and Cerioli,
1995a]
- Martin Gogolla and Maura Cerioli.
What is an Abstract Data Type, after all?
Technical Report PDISI-95-01, Dipartimento di Informatica e Scienze
dell'Informazione, Universita di Genova, 1995.
We look back on ten Workshops on Abstract Data Types. A
comprehensive KWIC index of titles of talks held at the workshop, a list of
authors referencing their talks and publications, and a bibliography are
presented.
(76 pages, gzipped PostScript: 169kb via
HTTP, uncompressed PostScript: 784kb via
HTTP)
- [Gogolla and Cerioli, 1995b]
- Martin
Gogolla and Maura Cerioli.
What is an Abstract Data Type, after all?
In Egidio Astesiano, Gianna Reggio, and Andrzej Tarlecki, editors, Proc.
10th Int. Workshop Abstract Data Types (WADT'94), pages 499-523.
Springer, Berlin, LNCS 906, 1995.
We look back on ten Workshops on Abstract Data Types. Organizers
and publications, a list of authors referencing their talks and papers on the
workshops, and a workshop bibliography are presented.
(26 pages, gzipped PostScript: 72kb via
HTTP, uncompressed PostScript: 198kb via
HTTP)
- [Gogolla and Herzig, 1995a]
- Martin
Gogolla and Rudolf Herzig.
An Algebraic Development Technique for Information Systems.
In Vangalur S. Alagar and Maurice Nivat, editors, Proc. 4th Int. Conf.
Algebraic Methodology and Software Technology (AMAST'95), pages
446-460. Springer, Berlin, LNCS 936, 1995.
This paper reports on successful application of algebraic ideas to
the formal development of software systems, in particular information
systems. It describes (1) a formalism, i.e., a language, for the
specification of information systems, (2) a method for the construction of
specifications in this language, and (3) implemented and planned parts of a
specification environment covering important phases of the software
development process.
(15 pages, gzipped PostScript: 85kb via
HTTP, uncompressed PostScript: 222kb via
HTTP)
- [Gogolla and Herzig, 1995b]
- Martin
Gogolla and Rudolf Herzig.
An Algebraic Semantics for the Object Specification Language TROLL light.
In Egidio Astesiano, Gianna Reggio, and Andrzej Tarlecki, editors, Proc.
10th Int. Workshop Abstract Data Types (WADT'94), pages 288-304.
Springer, Berlin, LNCS 906, 1995.
Within the KORSO project we have developed the object
specification language TROLL light which allows to describe the part of the
world to be modeled as a community of concurrently existing and communicating
objects. Recently, we have worked out the basic notions of a pure algebraic
semantics for our language. The main underlying idea is to present a
transition system where the states represent the states of the specified
information system, and state transitions are caused by the occurrence of
finite sets of events. This semantics is formulated by representing states
and state transitions as algebras. The various constructs of TROLL light are
unified to general axioms restricting the possible interpretations for TROLL
light object descriptions.
(17 pages, gzipped PostScript: 97kb via
HTTP, uncompressed PostScript: 256kb via
HTTP)
- [Gogolla et al., 1995a]
- Martin Gogolla,
Stefan Conrad, Grit Denker, Rudolf Herzig, and Nikolaos Vlachantonis.
A Development Environment for an Object Specification Language.
IEEE Transactions on Knowledge and Data Engineering,
7(3):505-508, 1995.
Techniques for the development of reliable information systems on
the basis of their formal specification are the main concern in our project.
Our work focuses on the specification language TROLL light which allows to
describe the part of the world to be modeled as a community of concurrently
existing and communicating objects. Our specification language comes along
with an integrated, open development environment. The task of this
environment is to give support for the creation of correct information
systems. Two important ingredients of the environment to be described here in
more detail are the animator and the proof support system.
(6 pages, gzipped PostScript: 64kb via
HTTP, uncompressed PostScript: 300kb via
HTTP)
- [Gogolla et al., 1995b]
- Martin Gogolla,
Stefan Conrad, Grit Denker, Rudolf Herzig, Nikolaos Vlachantonis, and
Hans-Dieter Ehrich.
TROLL light - The Language and Its Development Environment.
In Manfred Broy and Stefan Jähnichen, editors, KORSO - Methods,
Languages, and Tools for the Construction of Correct
Software (KORSO'95), pages 204-220. Springer, Berlin, LNCS 1009,
1995.
In our sub-project we are concerned with techniques for the
development of reliable information systems on the basis of their formal
specification. Our work focuses on the specification language TROLL light
which allows to describe the part of the world to be modeled as a community
of concurrently existing and communicating objects. Our specification
language comes along with an integrated, open development environment. The
task of this environment is to give support for the creation of correct
information systems. Two important ingredients of the environment to be
described here in more detail are the animator and the proof support
system.
(16 pages, gzipped PostScript: 84kb via
HTTP, uncompressed PostScript: 229kb via
HTTP)
- [Herzig and Gogolla, 1995]
- Rudolf
Herzig and Martin Gogolla.
An Animator for the Object Specification Language TROLL light.
In Vangalur S. Alagar and Rokia Missaoui, editors, Proc. Int Colloquium
Object Orientation in Databases and Software
Engineering (COODBSE'94), pages 156-170. World Scientific, River
Edge (NJ), 1995.
In our project we are concerned with techniques for the
development of reliable information systems on the basis of their formal
specification. Our work focuses on the specification language TROLL light
which allows to describe the part of the world to be modeled as a community
of concurrently existing and communicating objects. Our specification
language comes along with an integrated, open development environment. The
task of this environment is to give support for the creation of correct
information systems. One important ingredient of the environment to be
described here in more detail is the TROLL light animator.
(15 pages, gzipped PostScript: 62kb via
HTTP, uncompressed PostScript: 233kb via
HTTP)
- [Herzig et al., 1995]
- Rudolf Herzig,
Martin Gogolla, and Grit Denker.
KORSO Reference Languages: Concepts and Application Domains - TROLL light.
In Manfred Broy and Stefan Jähnichen, editors, KORSO - Methods,
Languages, and Tools for the Construction of Correct
Software (KORSO'95), pages 156-162. Springer, Berlin, LNCS 1009,
1995.
This paper gives an overview of the three KORSO reference
languages SPECTRUM, TROLL light, and SPECIAL, exposing their motivation and
background, language concepts, and typical application domains. The
presentation of the different languages is followed by a discussion to what
extent these languages may complement each other in the software development
process.
(23 pages, gzipped PostScript: 61kb via
HTTP, uncompressed PostScript: 164kb via
HTTP)
- [Conrad et al., 1994]
- Stefan Conrad,
Martin Gogolla, and Rudolf Herzig.
Safe Derivations in Object Hierarchies.
In D. Patel, Y. Sun, and S. Patel, editors, Proc. Int. Conf.
Object-Oriented Information Systems (OOIS'94), pages 306-319.
Springer, London, 1994.
We present a language for specifying structure and behavior of
objects in information systems. This language is restricted to a set of core
concepts for conceptual modeling. But it includes powerful concepts for
specifying constraints and derived data. We present an algorithm for deciding
on safe computation of derived information and demonstrate how this algorithm
works with an example.
(14 pages, gzipped PostScript: 48kb via
HTTP, uncompressed PostScript: 126kb via
HTTP)
- [Denker and Gogolla, 1994]
- Grit Denker
and Martin Gogolla.
Translating TROLL light Concepts to Maude.
In Hartmut Ehrig and Fernando Orejas, editors, Proc. 9th Int. Workshop
Abstract Data Types (WADT'92), pages 173-187. Springer, Berlin,
LNCS 785, 1994.
The specification language TROLL light is designed for the
conceptual modeling of information systems. Maude is a logic programming
language, which unifies the two paradigms of functional and concurrent
object-oriented programming. Because of the very similar features offered by
both languages, we present a translation from TROLL light concepts into the
Maude language in order to compare the languages. Apart from presenting the
translation, the languages are briefly described and illustrated by
examples.
(16 pages, gzipped PostScript: 66kb via
HTTP, uncompressed PostScript: 166kb via
HTTP)
- [Ehrich et al.,
1994]
- Hans-Dieter Ehrich, Martin Gogolla, Stefan Conrad, Grit Denker,
Rudolf Herzig, and Nikolaos Vlachantonis.
Entwicklung zuverlässiger Informationssysteme - Stand der Arbeiten im
Januar'94.
In Manfred Broy and Stefan Jähnichen, editors, Korrekte Software
durch formale Methoden - 6. KORSO-Workshop (KORSO'93), pages
82-94, 1994.
Zwei wichtige Komponenten der TROLL light-Entwicklungsumgebung
sind der Animator und das Beweisunterstützungssystem. Der Animator dient
dem Prototyping einer mit TROLL light spezifizierten Objektgesellschaft und
das Beweisunterstützungssystem hilft beim formalen Nachweis bestimmter
Eigenschaften der Spezifikation. Eine andere Komponente ist ein Tool, das den
Objektansatz von TROLL light mit der etablierten
Entity-Relationship-Modellierungstechnik verbindet.
- [Gogolla, 1994a]
- Martin Gogolla.
An Extended Entity-Relationship Model - Fundamentals and
Pragmatics.
Springer, Berlin, LNCS 767, 1994.
This text presents a comprehensive introduction to an extended
Entity-Relationship model both on a conceptual and on a formal, mathematical
level. In addition to the primitives given by the data model the text
introduces a language for the formulation of constraints in order to restrict
database states to consistent ones. The same language can be used to query
databases. The text also explains an implementation of the approach chosen in
the logic programming language PROLOG and discusses in this context the
computational power of the proposed calculus. Finally, the extended
Entity-Relationship calculus is applied in order to define the meaning of the
relational query language SQL.
(145 pages, gzipped PostScript: 266kb via
HTTP, uncompressed PostScript: 881kb via
HTTP)
- [Gogolla, 1994b]
- Martin Gogolla.
An Extended Entity-Relationship Model - Fundamentals and Pragmatics.
GI EMISA-Forum, 1:80-80, 1994.
This text presents a comprehensive introduction to an extended
Entity-Relationship model both on a conceptual and on a formal, mathematical
level. In addition to the primitives given by the data model the text
introduces a language for the formulation of constraints in order to restrict
database states to consistent ones. The same language can be used to query
databases. The text also explains an implementation of the approach chosen in
the logic programming language PROLOG and discusses in this context the
computational power of the proposed calculus. Finally, the extended
Entity-Relationship calculus is applied in order to define the meaning of the
relational query language SQL.
(1 pages, gzipped PostScript: 17kb via
HTTP, uncompressed PostScript: 89kb via
HTTP)
- [Gogolla, 1994c]
- Martin
Gogolla.
An Extended Entity-Relationship Model - Fundamentals and Pragmatics.
GI Datenbankrundbrief, 13:86-86, 1994.
This text presents a comprehensive introduction to an extended
Entity-Relationship model both on a conceptual and on a formal, mathematical
level. In addition to the primitives given by the data model the text
introduces a language for the formulation of constraints in order to restrict
database states to consistent ones. The same language can be used to query
databases. The text also explains an implementation of the approach chosen in
the logic programming language PROLOG and discusses in this context the
computational power of the proposed calculus. Finally, the extended
Entity-Relationship calculus is applied in order to define the meaning of the
relational query language SQL.
(1 pages, gzipped PostScript: 17kb via
HTTP, uncompressed PostScript: 89kb via
HTTP)
- [Gogolla, 1994d]
- Martin
Gogolla.
Grundlagen von Entity-Relationship-Modellen.
Informatik-Skript 33, Technische Universität Braunschweig, 1994.
Nach einer kurzen Motivation in der Datenbanksysteme, Datenmodelle
und insbesondere semantische Datenmodelle kurz charakterisiert werden wird
das Braunschweiger Erweiterte Entity-Relationship-Modell mit einem
zugehörigen Entity-Relationship-Kalkül samt Anwendungen des
Kalküls vorgestellt. Es werden anschließend weitere semantische
Datenmodelle wie IFO, ERC und OMT auf die Konzepte des vorgenannten
Entity-Relationship-Modells zurückgeführt.
(62 pages, gzipped PostScript: 173kb via
HTTP, uncompressed PostScript: 500kb via
HTTP)
- [Gogolla, 1994e]
- Martin Gogolla.
On Formal Semantics of Some Semantic Data Models.
In Selahattin Kuru, Ufuk Caglayan, Erol Gelenbe, Levent Akin, and Cem Ersoy,
editors, Proc. 9th Int. Symposium Computer and Information
Science (ISCIS'94), pages 33-40. Bogazici University Printhouse,
Istanbul, 1994.
We explain how different semantic data models like the ER model,
the ERC approach and the OMT structural modeling method could be transformed
into a semantically well-defined extended Entity-Relationship model and
calculus.
(8 pages, gzipped PostScript: 68kb via
HTTP, uncompressed PostScript: 165kb via
HTTP)
- [Gogolla et al., 1994a]
- Martin
Gogolla, Sedat Güler, and Rudolf Herzig.
From Object Specification to Enhanced Logic Programming.
In Selahattin Kuru, Ufuk Caglayan, Erol Gelenbe, Levent Akin, and Cem Ersoy,
editors, Proc. 9th Int. Symposium Computer and Information
Science (ISCIS'94), pages 423-430. Bogazici University
Printhouse, Istanbul, 1994.
We combine the area of object-oriented specification and
object-oriented logic programming by indicating the translation of a
specification language into an enhanced logic programming language. The
translation shows that in comparison to the programming language the
specification language offers richer concepts. The background of our work is
the development of rapid prototyping systems for object-oriented
specification languages.
(8 pages, gzipped PostScript: 68kb via
HTTP, uncompressed PostScript: 165kb via
HTTP)
- [Gogolla et al.,
1994b]
- Martin Gogolla, Nikolaos Vlachantonis, Rudolf Herzig, Grit
Denker, Stefan Conrad, and Hans-Dieter Ehrich.
The KORSO Approach to the Development of Reliable Information Systems.
Informatik-Bericht 94-06, Technische Universität Braunschweig,
1994.
KORSO was a joint project of fourteen university partners and one
industrial partner, sponsored by the German Ministry of Research and
Technology (BMFT). The project aimed at the consolidation of existing and the
investigation of new methods for the development of correct software. Within
this framework the focus of the KORSO group at the Technical University of
Braunschweig was on the improvement of techniques for the development of
reliable information systems. Our work focused on the specification language
TROLL light which allows to describe the part of the world to be modeled as a
community of concurrently existing and communicating objects. Our
specification language comes along with an integrated, open development
environment. The task of this environment is to give support for the creation
of correct information systems. This report summarizes the results achieved
by the Braunschweig KORSO group.
(59 pages, gzipped PostScript: 172kb via
HTTP, uncompressed PostScript: 468kb via
HTTP)
- [Herzig and Gogolla, 1994a]
- Rudolf
Herzig and Martin Gogolla.
A SQL-like Query Calculus for Object-Oriented Database Systems.
In Elisa Bertino and Susan Urban, editors, Proc. Int. Symposium
Object-Oriented Methodologies and Systems (ISOOMS'94), pages
20-39. Springer, Berlin, LNCS 858, 1994.
Currently much effort is being spent on providing object-oriented
databases with ad hoc query facilities. In this paper we present a SQL-like
query calculus whose major contribution lies in its inherent orthogonality
and rigorous mathematical foundation. The calculus is essentially a calculus
of complex values but it is defined independently of any concrete database
model. The calculus can be used to formulate queries in value-based and
object-based data models. Moreover it provides a general facility for the
manipulation of complex values.
(20 pages, gzipped PostScript: 68kb via
HTTP, uncompressed PostScript: 230kb via
HTTP)
- [Herzig and Gogolla,
1994b]
- Rudolf Herzig and Martin Gogolla.
On a Better Formal Basis for Stating SQL-like Queries in Value- And
Object-Based Database Systems.
Technical Report 9/94, Universität Bremen, 1994.
We present a formalism whose purpose is to serve as a rigid basis
for describing SQL-like queries and constraints in context of both value- and
object-based data models. The formalism, whose major contribution lies in its
inherent orthogonality and rigorous mathematical foundation, is defined
independently of any concrete database model. Instead it offers a general
facility for the ad-hoc manipulation of structured values. In an improvement
to the well-known relational domain or tuple calculi (or their extensions
towards extended relational models) the formalism (1) guarantees safe and
computable queries in an immanent way, (2) allows to explain duplicates in
query results, and (3) supports the composition of queries from subqueries
without the need to name intermediate query results. Hence it should be seen
closer to concrete SQL than classical query calculi.
(26 pages, gzipped PostScript: 83kb via
HTTP, uncompressed PostScript: 272kb via
HTTP)
- [Herzig et al., 1994a]
- Rudolf Herzig,
Stefan Conrad, and Martin Gogolla.
Compositional Description of Object Communities with TROLL light.
In Chris Chrisment, editor, Proc. Basque Int. Workshop Information
Technology (BIWIT'94), pages 183-194. Cepadues Editions,
Toulouse, 1994.
TROLL light is a language for the modeling of information systems.
It is designed to describe the Universe of Discourse (UoD) as a system of
concurrently existing and interacting objects. TROLL light objects have
observable properties modeled by attributes, and the behavior of objects is
described by events. Possible object observations may be restricted by
constraints, whereas event occurrences may be restricted to specified life
cycles. TROLL light objects are organized in an object hierarchy established
by subobject relationships. Communication between objects is supported by
event calling. Apart from introducing the various possibilities for the
syntactical description of objects, we aim to describe how the state of an
object community may be changed by event occurrences.
(12 pages, gzipped PostScript: 35kb via
HTTP, uncompressed PostScript: 98kb via
HTTP)
- [Herzig et al.,
1994b]
- Rudolf Herzig, Heiko Fischer, and Martin Gogolla.
Zur Gestaltung der Benutzeroberfläche bei der Animation von
Objektspezifikationen.
GI Datenbankrundbrief, 13:43-45, 1994.
Proc. Workshop GI-Fachgruppe Datenbanken.
Im Rahmen des BMFT-Verbundprojekts KORSO beschäftigt sich die
Braunschweiger Gruppe mit Aspekten der Entwicklung zuverlässiger
Informationssysteme. Der Schwerpunkt liegt dabei auf Fragen der
Spezifikation, Analyse und Validierung konzeptioneller Schemata. Zu TROLL
light wurde eine Entwicklungsumgebung konzipiert, deren wesentliche, bisher
implementierte Bestandteile ein Parser zur syntaktischen Analyse, eine
Struktur zur persistenten Ablage, ein Beweisunterstützungssystem zum
Nachweis spezieller Eigenschaften und ein Animationssystem zur Validierung
von Objektspezifikationen sind. Wir diskutieren einige Anforderungen, die an
ein Werkzeug zur Unterstützung der Animation von TROLL
light-Objektspezifikationen zu stellen sind, und gehen darauf ein, in welcher
Weise diese Anforderungen in der aktuellen Implementierung der
Benutzungsschnittstelle des TROLL light-Animationssystems realisiert worden
sind.
(4 pages, gzipped PostScript: 77kb via
HTTP, uncompressed PostScript: 279kb via
HTTP)
- [Conrad et al., 1993]
- Stefan
Conrad, Grit Denker, Martin Gogolla, Rudolf Herzig, Nikolaos Vlachantonis,
and Hans-Dieter Ehrich.
Zur Entwicklung zuverlässiger Informationssysteme in KORSO.
In H. Reichel, editor, Proc. 23. GI Jahrestagung (GI'93) - Informatik -
Wirtschaft - Gesellschaft, pages 464-469. Springer, Berlin,
Informatik Aktuell, 1993.
Innerhalb des KORSO-Projektes verfolgt unsere Gruppe das Ziel, die
Entwicklung zuverlässiger Informationssysteme auf der Basis formaler
Spezifikationen zu unterstützen. Dazu konzentriert sich unsere Arbeit auf
die Spezifikationssprache TROLL light, die es erlaubt, Teile der zu
modellierenden Welt als eine Gemeinschaft nebeneinander bestehender und
miteinander kommunizierender Objekte zu beschreiben. Auf diese Weise
bestimmen wir sowohl die Struktur als auch das Verhalten der konzeptionellen
Objekte. Unsere Spezifikationsumgebung für TROLL light erlaubt die
Animation von Spezifikationen ebenso wie das Beweisen von Eigenschaften der
Spezifikationen unter Verwendung von Theorembeweisern.
(6 pages, gzipped PostScript: 58kb via
HTTP, uncompressed PostScript: 144kb via
HTTP)
- [Ehrich et al.,
1993a]
- Hans-Dieter Ehrich, Martin Gogolla, Stefan Conrad, Grit Denker,
Rudolf Herzig, and Nikolaos Vlachantonis.
Beiträge zu ``Das BMFT-Verbundprojekt Korrekte Software (KORSO)''.
In Manfred Broy and Stefan Jähnichen, editors, Das
BMFT-Verbundprojekt Korrekte Software (KORSO), pages 160-161.
Informatik - Forschung und Entwicklung, Vol. 8, No. 3, 1993.
Innerhalb des KORSO-Projektes verfolgt unsere Gruppe das Ziel, die
Entwicklung zuverlässiger Informationssysteme auf der Basis formaler
Spezifikationen zu unterstützen. Dazu konzentriert sich unsere Arbeit auf
die Spezifikationssprache TROLL light, die es erlaubt, Teile der zu
modellierenden Welt als eine Gemeinschaft nebeneinander bestehender und
miteinander kommunizierender Objekte zu beschreiben. Auf diese Weise
bestimmen wir sowohl die Struktur als auch das Verhalten der konzeptionellen
Objekte. Unsere Spezifikationsumgebung für TROLL light erlaubt die
Animation von Spezifikationen ebenso wie das Beweisen von Eigenschaften der
Spezifikationen unter Verwendung von Theorembeweisern.
- [Ehrich et al.,
1993b]
- Hans-Dieter Ehrich, Martin Gogolla, Stefan Conrad, Grit Denker,
Rudolf Herzig, and Nikolaos Vlachantonis.
Entwicklung zuverlässiger Informationssysteme - Stand der Arbeiten im
Januar'93.
In Manfred Broy and Stefan Jähnichen, editors, Korrekte Software
durch formale Methoden - 4. KORSO-Workshop (KORSO'93), pages
50-56, 1993.
Innerhalb des KORSO-Projektes befaßt sich unsere Gruppe damit,
die Entwicklung zuverlässiger Informationssysteme auf der Basis formaler
Spezifikationen zu unterstützen. Dazu konzentriert sich unsere Arbeit auf
die Spezifikationssprache TROLL light, die es erlaubt, Teile der zu
modellierenden Welt als eine Gemeinschaft nebeneinander bestehender und
miteinander kommunizierender Objekte zu beschreiben. Auf diese Weise
bestimmen wir sowohl die Struktur als auch das Verhalten konzeptioneller
Objekte. Unsere Spezifikationsumgebung für TROLL light erlaubt die
Animation von Spezifikationen ebenso wie das Beweisen von Eigenschaften der
Spezifikationen unter Verwendung von Theorembeweisern.
- [Gogolla, 1993a]
- Martin Gogolla.
A Computational Model for TROLL light.
In Hartmut Ehrig, Friedrich von Henke, Jose Meseguer, and Martin Wirsing,
editors, Specification and Semantics. Dagstuhl-Seminar-Report
Nr. 64, 1993.
The object specification language TROLL light is intended to be
used for conceptual modeling of information systems. It is designed to
describe the Universe of Discourse (UoD) as a system of concurrently existing
and interacting objects, i.e., an object community. The first part of the
talk introduces the various language concepts offered by TROLL light. The
second part of our paper outlines a simplified computational model for TROLL
light. After introducing signatures for collections of object types we
explain how single states of an object community are constructed. By parallel
occurrence of a finite set of events the states of object communities change.
The object community itself is regarded as a graph where the nodes are the
object community states reachable from an initial state and the edges
represent transitions between states.
(1 pages, gzipped PostScript: 20kb via
HTTP, uncompressed PostScript: 118kb via
HTTP)
- [Gogolla, 1993b]
- Martin
Gogolla.
Some Examples for TROLL light Templates.
In Hans-Dieter Ehrich, editor, Beiträge zu KORSO- und TROLL
light-Fallstudien, pages 51-62. Technische Universität
Braunschweig, Informatik-Bericht Nr. 93-11, 1993.
We introduce some small examples for templates which are given in
the language TROLL light which is intended for the specification of
conceptual objects in information systems. The spectrum of our examples
ranges however from rather untypical information systems like clocks,
counters, or flipflops over stacks and trees to more specific information
system applications like libraries.
(68 pages, gzipped PostScript: 191kb via
HTTP, uncompressed PostScript: 517kb via
HTTP)
- [Gogolla, 1993c]
- Martin Gogolla.
TROLL light - A Core Language for Specifying Objects.
In Catriel Beeri, Andreas Heuer, Gunter Saake, and Susan Urban, editors,
Formal Aspects of Object Base Dynamics.
Dagstuhl-Seminar-Report Nr. 62, 1993.
TROLL light is a language for conceptual modeling of information
systems. It is designed to describe the Universe of Discourse (UoD) as a
system of concurrently existing and interacting objects. As a basis for our
language we took the specification language TROLL. However, some details have
been added or modified in order to round off TROLL light. This was necessary
because we needed a clear and balanced semantic basis for our specification
language. In TROLL light classes are understood as composite objects having
the class extension as sub-objects. Therefore in contrast to TROLL an extra
notion of class is not needed in TROLL light. Over and above that concepts
like class attributes, meta-classes, or heterogeneous classes are inherent in
TROLL light. Second TROLL light incorporates a query calculus providing a
general declarative query facility for object-oriented
databases.
(1 pages, gzipped PostScript: 31kb via
HTTP, uncompressed PostScript: 170kb via
HTTP)
- [Gogolla and Claßen, 1993]
- Martin
Gogolla and Ingo Claßen.
An Object-Oriented Design for the ACT ONE Environment.
In Maurice Nivat, Charles Rattray, Theodor Rus, and Giuseppe Scollo, editors,
Proc. 3rd Int. Conf. Algebraic Methodology and Software
Technology (AMAST'93), pages 361-368. Springer, London, Workshops
in Computing, 1993.
We define a conceptual model, i.e., an information system schema,
for the well-established algebraic specification language ACT ONE and its
accompanying specification environment. This paper gives a formal description
of suitable database support for an environment supporting the interactive
development of ACT ONE specifications. The object-oriented data model of
TROLL light, a language developed recently within the KORSO project, is used
to present the design of such an environment and its dynamic behavior.
However, the concepts used are general enough to support other specification
and even programming languages as well. Therefore, we feel the design of a
conceptual schema for ACT ONE is mainly a case study in employing an
object-oriented data model for database support of specification or
programming languages. It is therefore a proposal for the consolidation of
environments for algebraic specification languages.
(8 pages, gzipped PostScript: 55kb via
HTTP, uncompressed PostScript: 134kb via
HTTP)
- [Gogolla et al., 1993a]
- Martin Gogolla,
Stefan Conrad, and Rudolf Herzig.
Sketching Concepts and Computational Model of TROLL light.
In Alfonso Miola, editor, Proc. 3rd Int. Symposium Design and
Implementation of Symbolic Computation Systems (DISCO'93), pages
17-32. Springer, Berlin, LNCS 722, 1993.
The specification language TROLL light is intended to be used for
conceptual modeling of information systems. It is designed to describe a
system of concurrently existing and interacting objects. We introduces the
various language concepts offered by TROLL light. TROLL light objects have
observable properties modeled by attributes, and the behavior of objects is
described by events. TROLL light objects are organized in an object hierarchy
established by sub-object relationships. Communication among objects is
supported by event calling. We outlines a simplified computational model for
TROLL light. We explain how single states of an object community are
constructed. By parallel occurrence of a finite set of events the states of
object communities change. The object community itself is regarded as a graph
where the nodes are the object community states reachable from an initial
state and the edges represent transitions between states.
(16 pages, gzipped PostScript: 106kb via
HTTP, uncompressed PostScript: 264kb via
HTTP)
- [Gogolla et al., 1993b]
- Martin Gogolla,
Rudolf Herzig, Stefan Conrad, Grit Denker, and Nikolaos Vlachantonis.
Integrating the ER Approach in an OO Environment.
In Ramez Elmasri, Vram Kouramajian, and Bernhard Thalheim, editors,
Proc. 12th Int. Conf. Entity-Relationship Approach (ER'93),
pages 376-389. Springer, Berlin, LNCS 823, 1993.
We translate Entity-Relationship (ER) schemas into the
object-oriented specification language TROLL light. This language describes
the Universe of Discourse (UoD) as a system of concurrently existing and
interacting objects, i.e., an object community. Thereby two essential
aspects, structure and behavior, are integrated in one formalism. By doing
the translation from ER to TROLL light we preserve the visual advantages of
the former and receive a formalism through the latter which can be mapped to
an adequate object-oriented database system. Proceeding this way we hope our
proposal for transforming ER schemas into TROLL light specifications provides
a valuable link between structural and dynamic modeling.
(14 pages, gzipped PostScript: 94kb via
HTTP, uncompressed PostScript: 231kb via
HTTP)
- [Vlachantonis et al.,
1993]
- Nikolaos Vlachantonis, Rudolf Herzig, Martin Gogolla, Grit
Denker, Stefan Conrad, and Hans-Dieter Ehrich.
Towards Reliable Information Systems: The KORSO Approach.
In Colette Rolland, Francois Bodart, and Corine Cauvet, editors, Proc.
5th Int. Conf. Advanced Information Systems Engineering (CAiSE'93),
pages 463-483. Springer, Berlin, LNCS 685, 1993.
Within the compound project KORSO our team is concerned with the
research on techniques and methods for the development of reliable
information systems on the basis of formal specifications. Our work focuses
on the specification language TROLL light which allows to describe the part
of the world which is to be modeled as a community of concurrently existing
and communicating objects by determining their structure as well as their
behavior. Moreover we develop and implement a computer aided specification
environment for TROLL light which permits specification animation as well as
the proof of properties of specifications.
(20 pages, gzipped PostScript: 87kb via
HTTP, uncompressed PostScript: 229kb via
HTTP)
- [Conrad and Gogolla,
1992]
- Stefan Conrad and Martin Gogolla.
An Annotated Bibliography on Object-Orientation and Deduction.
ACM SIGMOD Record, 21(1):123-132, 1992.
This note tries to briefly survey research activities and results
on the integration of object-oriented concepts and deductive database
languages.
(10 pages, gzipped PostScript: 61kb via
HTTP, uncompressed PostScript: 150kb via
HTTP)
- [Conrad et al.,
1992]
- Stefan Conrad, Martin Gogolla, and Rudolf Herzig.
TROLL light - A Core Language for Specifying Objects.
Informatik-Bericht 92-02, Technische Universität Braunschweig,
1992.
TROLL light is a language for conceptual modeling of information
systems. It is designed to describe the Universe of Discourse (UoD) as a
system of concurrently existing and interacting objects. TROLL light objects
have observable properties modeled by attributes, and the behavior of objects
is described by events. Possible object observations may be restricted by
constraints, whereas event occurrences may be restricted to specified life
cycles. TROLL light objects are organized in an object hierarchy established
by subobject relationships. Communication among objects is supported by event
calling. Apart from introducing the various possibilities for the syntactical
description of objects, we aim to describe how the state of an object
community may be changed by event occurrences.
(26 pages, gzipped PostScript: 114kb via
HTTP, uncompressed PostScript: 301kb via
HTTP)
- [Engels et al., 1992]
- Gregor Engels,
Martin Gogolla, Uwe Hohenstein, Klaus Hülsmann, Perdita Löhr-Richter,
Gunter Saake, and Hans-Dieter Ehrich.
Conceptual Modelling of Database Applications Using an Extended ER Model.
Journal on Data and Knowledge Engineering, Elsevier, NL,
9(2):157-204, 1992.
In this paper, we motivate and present a data model for conceptual
design of structural and behavioural aspects of databases. We follow an
object centered design paradigm in the spirit of semantic data models. The
specification of structural aspects is divided into modelling of object
structures and modelling of data types used for describing object properties.
The specification of object structures is based on an Extended
Entity-Relationship (EER) model. The specification of behavioural aspects is
divided into the modelling of admissible database state evolutions by means
of temporal integrity constraints and the formulation of database
(trans)actions. The central link for integrating these design components is a
descriptive logic-based query language for the EER model. The logic part of
this language is the basis for static constraints and descriptive action
specifications by means of pre- and postconditions.
(58 pages, gzipped PostScript: 163kb via
HTTP, uncompressed PostScript: 484kb via
HTTP)
- [Gogolla, 1992a]
- Martin
Gogolla.
Contributions to ``A Framework for Software Development in KORSO''.
In Martin Wirsing, editor, A Framework for Software Development in
KORSO. Ludwig-Maximilians-Universität München, Institut
für Informatik, Bericht 9205, 1992.
This paper reports on the results of the first meeting of the
KORSO methods group, held in Munich, January 1992. It presents an outline of
a framework for a software development methodology in KORSO. The framework is
based on a generic algebraic-axiomatic approach to software development.
Goals and requirements for KORSO developments are described. The roles of
correctness and verification are discussed.
- [Gogolla, 1992b]
- Martin Gogolla.
Fundamentals and Pragmatics of an Entity-Relationship Approach.
Habilitation thesis, Technische Universität Braunschweig,
Naturwissenschaftliche Fakultät, 1992.
Submitted November 1992, Accepted May 1993.
This text presents a comprehensive introduction to an extended
Entity-Relationship model both on a conceptual and on a formal, mathematical
level. In addition to the primitives given by the data model the text
introduces a language for the formulation of constraints in order to restrict
database states to consistent ones. The same language can be used to query
databases. The text also explains an implementation of the approach chosen in
the logic programming language PROLOG and discusses in this context the
computational power of the proposed calculus. Finally, the extended
Entity-Relationship calculus is applied in order to define the meaning of the
relational query language SQL.
(145 pages, gzipped PostScript: 266kb via
HTTP, uncompressed PostScript: 881kb via
HTTP)
- [Herzig and Gogolla, 1992]
- Rudolf Herzig
and Martin Gogolla.
Transforming Conceptual Data Models into an Object Model.
In Günter Pernul and A Min Tjoa, editors, Proc. 11th Int. Conf.
Entity-Relationship Approach (ER'92), pages 280-298. Springer,
Berlin, LNCS 645, 1992.
In this paper a conceptually simple structural object model
focusing on object types, attributes and ISA relationships is introduced. The
model is derived mainly from an extended Entity-Relationship approach, but
concepts from other semantic and object-oriented models have influenced its
features. It is shown how high-level conceptual data models can be mapped to
this model, and to what extent the object model subsumes classical modeling
paradigms.
(19 pages, gzipped PostScript: 108kb via
HTTP, uncompressed PostScript: 278kb via
HTTP)
- [Claßen and Gogolla,
1991]
- Ingo Claßen and Martin Gogolla.
Towards a Conceptual Model for the Environment of the Algebraic Specification
Language ACT ONE.
Forschungsbericht 91/11, Technische Universität Berlin, 1991.
The paper defines a conceptual model for the algebraic
specification language ACT ONE and its accompanying specification
environment. But the approach chosen is quite general and can be employed for
other specification languages as well. The definition of the database schema
including integrity constraints is done by means of an expressive and
semantically well-founded extended Entity-Relationship model and a respective
calculus. The basic idea is to start with the context free grammar of ACT ONE
and to introduce entity types for non-terminal symbols. Productions are
modelled by a type construction and appropriate components. Context sensitive
conditions are translated into integrity constraints formulated in the
calculus. This approach especially allows to describe various degrees of
incompleteness of ACT ONE types, for instance whether an ACT ONE type has
already been checked syntactically or whether the flat equivalent of the type
is available.
(24 pages, gzipped PostScript: 100kb via
HTTP, uncompressed PostScript: 261kb via
HTTP)
- [Ehrich et al., 1991]
- Hans-Dieter Ehrich,
Martin Gogolla, and Amilcar Sernadas.
Objects and Their Specification.
In Michel Bidoit and Christine Choppy, editors, Proc. 8th Int. Workshop
Abstract Data Types (WADT'91), pages 40-65. Springer, Berlin,
LNCS 655, 1991.
Object-oriented concepts and constructions are explained in an
informal and language-independent way. Various algebraic approaches for
dealing with objects and their specification are examined, ADT-based ones as
well as process-based ones. The conclusion is that the process view of
objects seems to be more appropriate than the data type
view.
(26 pages, gzipped PostScript: 97kb via
HTTP, uncompressed PostScript: 255kb via
HTTP)
- [Gogolla and Ehrich, 1991]
- Martin
Gogolla and Hans-Dieter Ehrich.
Contributions to ``COMPASS - A Comprehensive Algebraic Approach to System
Specification and Development''.
In Michel Bidoit, Hans-Jörg Kreowski, Pierre Lescanne, Fernando Orejas, and
Don Sannella, editors, COMPASS - A Comprehensive Algebraic Approach to
System Specification and Development. Springer, Berlin, LNCS 501,
1991.
This volume arose out of the work of the COMPASS Basic Research
Working Group, funded by the European Community under the Basic Research
Action programme, ref. no. 3264. The name COMPASS stands for ``a
COMPrehensive Algebraic approach to System Specification and development''.
An early version of this document was included in the original COMPASS
project proposal as a review of the state of the art. The current version is
the result of suggestions for improvements from the participants in the
COMPASS project, assembled and edited into a more or less coherent form by
five editors. Since the COMPASS working group includes most of the leading
European experts in algebraic specification, the result should be a
relatively comprehensive overview of the main work in the field. In spite of
its deficiencies, we hope that it nevertheless represents a useful snapshot
of the current state of the art.
- [Gogolla and Hohenstein, 1991]
- Martin
Gogolla and Uwe Hohenstein.
Towards a Semantic View of an Extended Entity-Relationship Model.
ACM Transactions on Database Systems, 16(3):369-416,
1991.
This paper introduces an extended ER model concentrating nearly
all concepts of known so-called semantic data models to a few syntactical
constructs. Moreover, we provide our extended ER model with a formal
mathematical semantics. On this basis a well-founded calculus is developed
taking into account data operations on arbitrary user-defined data types and
aggregate functions. We pay special attention to arithmetic operations as
well as multivalued terms allowing nested queries in a uniform and consistent
manner. We prove our calculus only allows the formulation of safe terms and
queries yielding a finite result, and to be (at least) as expressive as the
relational calculi.
(48 pages, gzipped PostScript: 5025kb via
HTTP, uncompressed PostScript: 47544kb via
HTTP)
- [Gogolla et al., 1991]
- Martin Gogolla,
Bernd Meyer, and Gerhard D. Westerman.
Drafting Extended Entity-Relationship Schemas with QUEER.
In Toby Teorey, editor, Proc. 10th Int. Conf. Entity-Relationship
Approach (ER'91), pages 561-585. ER Institute, San Mateo,
1991.
The system QUEER is a prototype of an information system design
tool which directly supports an extended Entity-Relationship model on its
front-end and uses a semantically well-founded query and manipulation
language based on an Entity-Relationship calculus. The system basically
consists of a set of compilers written in PROLOG which translate data
specifications, schema definitions, queries, integrity constraints, and
data-manipulation statements into PROLOG programs. All features mentioned are
implemented in form and extent as described here.
(25 pages, gzipped PostScript: 111kb via
HTTP, uncompressed PostScript: 290kb via
HTTP)
- [Engels et al.,
1990]
- Gregor Engels, Martin Gogolla, Uwe Hohenstein, Klaus
Hülsmann, Perdita Löhr-Richter, Gunter Saake, and Hans-Dieter Ehrich.
Conceptual Modelling of Database Applications Using an Extended ER Model.
Informatik-Bericht 90-05, Technische Universität Braunschweig,
1990.
In this paper, we motivate and present a data model for conceptual
design of structural and behavioural aspects of databases. We follow an
object centered design paradigm in the spirit of semantic data models. The
specification of structural aspects is divided into modelling of object
structures and modelling of data types used for describing object properties.
The specification of object structures is based on an Extended
Entity-Relationship (EER) model. The specification of behavioural aspects is
divided into the modelling of admissible database state evolutions by means
of temporal integrity constraints and the formulation of database
(trans)actions. The central link for integrating these design components is a
descriptive logic-based query language for the EER model. The logic part of
this language is the basis for static constraints and descriptive action
specifications by means of pre- and postconditions.
(58 pages, gzipped PostScript: 163kb via
HTTP, uncompressed PostScript: 484kb via
HTTP)
- [Gogolla, 1990a]
- Martin
Gogolla.
A Note on the Translation of SQL to Tuple Calculus.
Bulletin of the EATCS, 40:231-236, 1990.
This note presents a translation of a subset of the relational
query language SQL into the well known tuple calculus. Roughly speaking,
tuple calculus corresponds to first order predicate calculus. The SQL subset
is relationally complete and represents a ``relational core'' of the
language. Nevertheless, our translation is simple and elegant. Therefore it
is especially well suited as a beginners course into the principles of a
formal definition of SQL.
(5 pages, gzipped PostScript: 47kb via
HTTP, uncompressed PostScript: 117kb via
HTTP)
- [Gogolla, 1990b]
- Martin
Gogolla.
A Note on the Translation of SQL to Tuple Calculus.
ACM SIGMOD Record, 19(1):18-22, 1990.
This note presents a translation of a subset of the relational
query language SQL into the well known tuple calculus. Roughly speaking,
tuple calculus corresponds to first order predicate calculus. The SQL subset
is relationally complete and represents a ``relational core'' of the
language. Nevertheless, our translation is simple and elegant. Therefore it
is especially well suited as a beginners course into the principles of a
formal definition of SQL.
(5 pages, gzipped PostScript: 47kb via
HTTP, uncompressed PostScript: 117kb via
HTTP)
- [Gogolla, 1990c]
- Martin
Gogolla.
Datalog - Eine deduktive Datenbanksprache.
Informatik-Skript 25, Technische Universität Braunschweig, 1990.
Die vorliegenden Notizen sind Überarbeitungen der Folien, die
für eine Vorlesung verwendet wurden. Stoffauswahl und Detailierungsgrad
waren wesentlich von dem Umstand bestimmt, daß eine zweistündige
Veranstaltung in einem Sommersemester mit 12 Wochen gehalten wurde. Die
Struktur der Vorlesung lehnt sich an einen Übersichtsartikel von Ceri,
Gottlob und Tanca an. Zusätzliche Definitionen, Sätze, Verfahren und
Beispiele stammen aus der angegebenen Literatur. Andere Beispiele wurden in
der Veranstaltung entwickelt. Die Hörer der Vorlesung haben durch kritische
Fragen und Bemerkungen zur Verbesserung des Materials
beigetragen.
- [Gogolla and Karge, 1990]
- Martin Gogolla
and Ulrich Karge.
Zur formalen Semantik von SQL.
In Udo Walter Lipeck, Stefan Braß, and Gunter Saake, editors,
Kurzfassungen 2. Workshop Grundlagen von Datenbanken (GvD'90),
pages 27-29. Technische Universität Braunschweig, Informatik-Bericht
Nr. 90-02, 1990.
Es wird ein Vorschlag zur Definition der formalen Semantik von SQL
auf der Grundlage eines erweiterten Entity-Relationship-Kalküls
diskutiert. Dieser zugrunde liegende Kalkül gestattet insbesondere eine
semantisch wohl-definierte Verwendung von Aggregierungsfunktionen auf der
Grundlage von Multimengen. Damit ist es möglich, sowohl die SQL
Gruppierungsmöglichkeiten mittels GROUP BY als auch die (zumindest
teilweise) hierauf basierenden SQL Aggregierungen MAX, MIN, AVG, COUNT und
SUM präzise zu erklären. Auf dieser Grundlage können so Aussagen
u.a. über die Äquivalenz von Anfragen und somit über beweisbare
Eigenschaften der Sprache gemacht werden. Auf diesem Weg wird dann auch
gezeigt, daß Unteranfragen, die mittels IN, ALL, ANY oder EXISTS gebildet
werden, sich durch ein einziges Konstrukt, nämlich COUNT ausdrücken
lassen.
- [Karge and Gogolla,
1990]
- Ulrich Karge and Martin Gogolla.
Formal Semantics of SQL Queries.
Informatik-Bericht 90-02, Technische Universität Braunschweig,
1990.
A formal semantics of the relational query language SQL
(Structured Query Language) is presented by translating SQL into an extended
relational calculus. This calculus allows the handling of grouping and
aggregation as well as null vallues, and therefore special emphasis is laid
on the correct translation of grouping and aggregation of SQL. The
translation of an SQL query is performed in eight steps. Some steps can be
omitted for most of the queries. Making use of the presented translation, it
is possible to prove properties of SQL, e.g. subqueries which are added with
IN, ALL, or EXISTS can be replaced equivalently by subqueries using the
aggregation function COUNT.
- [Meyer et al., 1990]
- Bernd
Meyer, Gerhard D. Westerman, and Martin Gogolla.
QUEER - A Prolog Based Prototype for an Extended ER Approach.
Informatik-Bericht 90-03, Technische Universität Braunschweig,
1990.
The combination of logic programming and databases has been given
broad attention in recent years. However, mainly the connections between the
relational data model and logic programming have been investigated. The
application of logic programming languages as a basis for information systems
founded on more complex, i.e. conceptual data models has received
comparatively less attention. With the system QUEER, we introduce the
prototype of a PROLOG-based information system which directly supports an
extended Entity-Relationship model on its front-end and uses a semantically
well-founded query and manipulation language based on an Entity-Relationship
calculus. The system basically consists of a set of compilers written in
PROLOG which translate data specifications, schema definitions, queries, and
data-manipulation statements into PROLOG programs.
(36 pages, gzipped PostScript: 136kb via
HTTP, uncompressed PostScript: 367kb via
HTTP)
- [Ehrich et al.,
1989a]
- Hans-Dieter Ehrich, Gregor Engels, Martin Gogolla, and Gunter
Saake, editors.
Abstracts Workshop Grundlagen von Datenbanken (GvD'89).
Technische Universität Braunschweig, Informatik-Bericht Nr. 89-02,
1989.
Der vorliegende Bericht faßt die Kurzfassungen der
Vorträge zusammen, die für den Workshop Grundlagen von Datenbanken
(16.-19.5.89 im Herrenhaus Volkse) angemeldet wurden. Der Workshop hat das
Anliegen, die Kommunikation zwischen den deutschsprachigen Arbeitsgruppen zu
fördern, die um Bereich der theoretischen, konzeptionellen und
methodologischen Grundlagen von Daten- und Wissensbanken arbeiten.
Insbesondere den jüngeren Nachwuchswissenschaftlern soll der Workshop
Gelegenheit bieten, in zwangloser Umgebung Ideen, Ansätze und Ergebnisse
auszutauschen und zu diskutieren. Die Vielfalt der Anmeldungen zeigt, daß
für Workshops dieser Art - und dieser Thematik - ein großer Bedarf
besteht.
- [Ehrich et al., 1989b]
- Hans-Dieter
Ehrich, Martin Gogolla, and Udo Walter Lipeck.
Algebraische Spezifikation Abstrakter Datentypen - Eine Einführung
in die Theorie.
Leitfäden und Monographien der Informatik. Teubner, Stuttgart, 1989.
Dieses Buch ist aus der Überarbeitung und Erweiterung von
Notizen zu Vorlesungen entstanden, die seit 1977 zunächst vom ersten
Autor an der Universität Dortmund, seit 1982 dann von allen drei Autoren
in wechselnder Folge an der Technischen Universität Braunschweig gehalten
wurden. Der Schwerpunkt des Buches liegt bei den theoretischen Grundlagen,
jedoch haben die Möglichkeiten und Grenzen praktischer Anwendung die
Auswahl und die Gestaltung des Stoffes stark beeinflußt. Das Buch richtet
sich vornehmlich an Informatiker, die sich mit Grundlagen des
Software-Entwurfs auseinandersetzen wollen, und an Mathematiker, die sich
für Anwendungen der universellen Algebra und der Logik in der Informatik
interessieren.
- [Gogolla, 1989a]
- Martin Gogolla.
Algebraization and Integrity Constraints for an Extended Entity-Relationship
Approach.
In Josep Diaz and Fernando Orejas, editors, Proc. 3rd Int. Joint Conf.
Theory and Practice of Software Development (TAPSOFT'89), pages
259-274. Springer, Berlin, LNCS 351, 1989.
An extended Entity-Relationship model concentrating nearly all
concepts of known ``semantic'' data models and especially allowing arbitrary
user defined data types is introduced. The semantics of the model is
described purely in algebraic terms mainly based on the notions of signature,
algebra and extension. On this basis a calculus making intensive use of
abstract data types is defined and employed for the formulation of typical
integrity constaints like functional restrictions and key
specifications.
(16 pages, gzipped PostScript: 70kb via
HTTP, uncompressed PostScript: 186kb via
HTTP)
- [Gogolla, 1989b]
- Martin Gogolla.
Zur Übersetzung eines ER-Kalküls nach Prolog.
In Hans-Dieter Ehrich, Gregor Engels, Martin Gogolla, and Gunter Saake,
editors, Abstracts Workshop Grundlagen von
Datenbanken (GvD'89). Technische Universität Braunschweig,
Informatik-Bericht Nr. 89-02, 1989.
Auf der Basis eines erweiterten ER Modells werden sowohl Schemata
als auch die zugehörigen Datenbanzustände mittels Prolog-Fakten
dargestellt. Es wird ein Verfahren angegeben, das es gestattet, Terme eines
auf dem erweiterten ER Modell aufbauenden Kalküls in äquivalente
Prolog-Prädikate zu übersetzen. Mit Hilfe dieser Terme bzw. der
entsprechenden Prolog-Prädikate lassen sich einerseits Anfragen bzgl. des
gegebenen Datenbankzustands formulieren und auswerten. Andererseits dienen
diese Terme bzw. die äquivalenten Prolog-Prädikate auch zur
Überprüfung (statischer) Integritätsbedingengen im
repräsentierten Zustand.
- [Gogolla and Ehrich,
1989]
- Martin Gogolla and Hans-Dieter Ehrich.
Contributions to ``COMPASS - A Comprehensive Algebraic Approach to System
Specification and Development''.
In Bernd Krieg-Brückner, editor, COMPASS - A Comprehensive Algebraic
Approach to System Specification and Development. Universität
Bremen, Informatik-Bericht 6/89, 1989.
COMPASS is funded as a Basic Research Workong Group under the
ESPRIT Programme of the European Communities. This document contains those
three chapters of the original proposal that we believe to be of potential
interest to a wider audience. The first chapter states the general objectives
of the cooperation in the Working Group. The second chapter gives a summary
of the State of the Art for and of our own work as we saw it in June 1988.
Thus it is in many ways incomplete with respect to the work of others and
does not claim full coverage. We believe, however, that it provides an
overview that might be of interest for other researchers in the area of
Formal Methods in Computing Science. The third chapter lists the references
to work mentioned in the previous chapter. Again, it is by no means complete.
Overall, chapter II and III can be regarded as a first approximation of an
annotated bibliography of the area of algebraic
specification.
- [Ehrich et al., 1988]
- Hans-Dieter Ehrich,
Klaus Drosten, and Martin Gogolla.
Towards an Algebraic Semantics for Database Specification.
In Robert A. Meersman and Amilcar C. Sernadas, editors, Proc. 2nd IFIP
2.6 Working Conf. Database Semantics (DS-2'86), pages 119-135.
North Holland, Amsterdam, 1988.
In the framework of a modal-algebraic approach to database
semantics, the specification of abstract object types on the basis of
abstract data types is studied. As a semantic framework for determining
admissible states and state sequences, a standard universe of ``possible
objects'' and their interrelationships has to be associated with a schema
specification. This paper gives a construction of such a standard universe
from a given key system including certain constraints. There is also an
abstract algebraic characterisation of the universe (up to isomorphism) in
the terms of final algebras. Within this framework, a general definition of
admissible states and state sequences as the semantics of a schema
specification is discussed briefly.
- [Hohenstein and Gogolla, 1988a]
- Uwe
Hohenstein and Martin Gogolla.
A Calculus for an Extended Entity-Relationship Model Incorporating Arbitrary
Data Operations and Aggregate Functions.
In Carlo Battini, editor, Proc. 7th Int. Conf. Entity-Relationship
Approach (ER'88), pages 129-148. North-Holland, Amsterdam,
1988.
We propose a semantically well-founded Entity-Relationship
calculus that takes into account data operations (especially arithmetic
operations) on arbitrary defineable data types and aggregate functions, as
well as multivalued terms allowing nested queries in a uniform and consistent
manner. We define our calculus in a way that only allows the formulation of
safe terms and queries (yielding a finite result) and that it is (at least)
as powerful as the relational calculi. The calculus is based upon an extended
ER model concentrating nearly all concepts of known so-called semantic data
models to a few syntactical constructs. Moreover, we provide our extended ER
model with a formal semantics, since otherwise the semantics of the calculus
cannot be defined mathematically precise.
- [Hohenstein and Gogolla,
1988b]
- Uwe Hohenstein and Martin Gogolla.
Towards a Semantic View of an Extended Entity-Relationship Model.
Informatik-Bericht 88-02, Technische Universität Braunschweig,
1988.
This paper introduces an extended ER model concentrating nearly
all concepts of known so-called semantic data models to a few syntactical
constructs. Moreover, we provide our extended ER model with a formal
mathematical semantics. On this basis a well-founded calculus is developed
taking into account data operations on arbitrary user-defined data types and
aggregate functions. We pay special attention to arithmetic operations as
well as multivalued terms allowing nested queries in a uniform and consistent
manner. We prove our calculus only allows the formulation of safe terms and
queries yielding a finite result, and to be (at least) as expressive as the
relational calculus.
- [Gogolla, 1987]
- Martin Gogolla.
On Parametric Algebraic Specifications with Clean Error Handling.
In Hartmut Ehrig, Robert Kowalski, and Giorgio Levi, editors, Proc. 2nd
Int. Joint Conf. Theory and Practice of Software
Development (TAPSOFT'87), pages 81-95. Springer, Berlin,
LNCS 249, 1987.
Usual algebraic specification techniques can be extended to treat
partially ordered sorts. This allows the introduction of sub- and supersorts
as well as overloaded operators, while pleasant features of the equational
specification method (e.g. existence of initial algebras and equivalence of
algebraic and operational semantics) are preserved. On this basis error and
exception handling is studied. For each sort an ok and an error subsort is
introduced and clean algebras (i.e. algebras which are ok-error-consistent
and ok-error-complete) are considered. This new approach allows to prove an
extension lemma for persistent parametric specifications which permit error
handling.
- [Ehrich et al., 1986]
- Hans-Dieter Ehrich,
Klaus Drosten, Martin Gogolla, and Udo Walter Lipeck, editors.
Abstracts 4th Int. Workshop Abstract Data Types (WADT'86).
Technische Universität Braunschweig, Informatik-Bericht Nr. 86-09,
1986.
Here are the abstracts of talks presented at the 4th Workshop on
Specification of Abstract Data Types which was held at Burg Warberg near
Braunschweig, May 20-23, 1986. About 70 participants attended the workshop,
more than ever before in this series of workshops, starting in Langscheid
1982 and going on in Passau 1983 and in Bremen 1984. We all look forward to
the next meeting in Edinburgh which is scheduled to take place in fall 1987
and will be organized by Don Sannella.
- [Gogolla, 1986a]
- Martin Gogolla.
Exception Handling and Subsorts.
In Hans-Dieter Ehrich, Klaus Drosten, Martin Gogolla, and Udo Walter Lipeck,
editors, Abstracts 4th Int. Workshop Abstract Data
Types (WADT'86). Technische Universität Braunschweig,
Informatik-Bericht Nr. 86-09, 1986.
Usual algebraic specification techniques can be extended to treat
partially ordered sorts. This allows the introduction of sub- and supersorts
as well as overloaded operators, while pleasant features of the equational
specification method (e.g. existence of initial algebras and equivalence of
algebraic and operational semantics) are preserved. Partially ordered sorts
can also be used as a basis for exception and error handling. We discuss
three different, but closey related methods: (1) Ok-subsorts, (2)
error-subsorts, and (3) disjoint ok- and error-subsorts. In particular, the
three approaches are considered with respect to error introduction, error
propagation and error recovery.
- [Gogolla, 1986b]
- Martin Gogolla.
Über Partiell Geordnete Sortenmengen und deren Anwendung zur
Fehlerbehandlung in Abstrakten Datentypen.
PhD thesis, Technische Universität Braunschweig, Naturwissenschaftliche
Fakultät, 1986.
Mainly material from the CAAP'84, TCS'84, WADT'84 and TAPSOFT'87 papers.
Algebraische Spezifikationen von Datentypen werden um
Ausdrucksmittel zur Darstellung von Halbordnungen auf den Trägern
erweitert. Dies ermöglicht insbesondere die Behandlung von Unter- und
Obersorten. Neben Gleichungen werden auch Deklarationen in Spezifikationen
zugelassen, die es gestatten, einem Term eine neue Sorte zuzuweisen. Als
Semantik ergibt sich stets eine initiale Algebra. Auf dieser Basis werden
verschiedene Methoden zur Behandlung von Fehlern und Ausnahmen in abstrakten
Datentypen vorgestellt, und ein Vorschlag zu deren Parametrisierung wird
diskutiert.
- [Gogolla, 1985a]
- Martin
Gogolla.
A Final Algebra Semantics for Errors and Exceptions.
Informatik-Bericht 85-06, Technische Universität Braunschweig,
1985.
Algebraic specifications allowing equations and inequations are
studied. A characterisation of the existence of models and initial algebras
as well as a criterion for the existence of final algebras for such
specifications are given. As an application it is shown, how the result can
be applied to yield maximal error propagation preserving error recovery in
abstract data types.
- [Gogolla, 1985b]
- Martin Gogolla.
A Final Algebra Semantics for Errors and Exceptions.
In Hans-Jörg Kreowski, editor, Proc. 3rd Int. Workshop Abstract Data
Types (WADT'84), pages 89-103. Springer Berlin, Informatik
Fachberichte 116, 1985.
Algebraic specifications allowing equations and inequations are
studied. A characterisation of the existence of models and initial algebras
as well as a criterion for the existence of final algebras for such
specifications are given. As an application it is shown, how the result can
be applied to yield maximal error propagation preserving error recovery in
abstract data types.
- [Lipeck et al., 1985]
- Udo Walter Lipeck,
Hans-Dieter Ehrich, and Martin Gogolla.
Specifying Admissibility of Dynamic Database Behaviour Using Temporal Logic.
In Amilcar Sernadas, Janis Bubenko, and Antoni Olive, editors, Proc.
IFIP Working Conf. Theoretical and Formal Aspects of Information
Systems (TFAIS'85), pages 145-157. North Holland, Amsterdam,
1985.
This work uses temporal logic as a calculus for expressing
integrity constraints that specify admissibility of dynamic database
behaviour. Formulas are interpreted in state sequences representing dynamic
behaviour. Our approach incorporates temporal quantifications by ``always''
and ``sometime'', and quantifiers bounded by intervals in state sequences.
Moreover, dynamically changing domains of database values are considered. We
then use special kinds of formulas as a language for dynamic constraints and
give some hints how to specify in typical situations. For such formulas, a
frame for monitoring constraints during runtime of a database is discussed
which allows to characterize admissibility operationally.
(13 pages, gzipped PostScript: 1606kb via
HTTP, uncompressed PostScript: 20511kb via
HTTP)
- [Ehrich et al., 1984]
- Hans-Dieter Ehrich,
Udo Walter Lipeck, and Martin Gogolla.
Specification, Semantics and Enforcement of Dynamic Database Constraints.
In Umeshwar Dayal, Gunter Schlageter, and Lim Huat Seng, editors, Proc.
10th Int. Conf. Very Large Data Bases (VLDB'84), pages 310-318.
Morgan Kaufmann, San Mateo, 1984.
In order to specify dynamic constraints, we present a simplified
version of temporal logic based on the temporal quantifiers ``always'' and
``sometime'' as well as their bounded versions ``always..until'' and
``sometime..before''. We show that, in most practical cases, the bounded
temporal quantifiers can be expressed by appropriate formulas with unbounded
temporal quantifiers. We then use special kinds of temporal formulas as a
language to specify dynamic constraints. The problem of enforcing such
constraints is then reduced to the problem of enforcing dynamically changing
sets of two kinds of static constraints, called universal and existential
constraints. While universal constraints can be enforced strictly in
principle, violation of existential constraints cannot be detected in each
case at the earliest moment. We give a sufficient criterion for detecting
violation of existential constraints.
(8 pages, gzipped PostScript: 1153kb via
HTTP, uncompressed PostScript: 12773kb via
HTTP)
- [Gogolla, 1984a]
- Martin
Gogolla.
A Final Algebra Semantics for Errors and Exceptions.
In Hans-Jörg Kreowski and Anne Wilharm, editors, Abstracts 3rd Int.
Workshop Abstract Data Types (WADT'84). Universität Bremen,
Informatik-Bericht 9/84, 1984.
Algebraic specifications allowing equations and inequations are
studied. A characterisation of the existence of models and initial algebras
as well as a criterion for the existence of final algebras for such
specifications are given. As an application it is shown, how the result can
be applied to yield maximal error propagation preserving error recovery in
abstract data types.
- [Gogolla, 1984b]
- Martin Gogolla.
Partially Ordered Sorts in Algebraic Specifications.
In Bruno Courcelle, editor, Proc. 9th Int. Colloquium Trees in Algebra
and Programming (CAAP'84), pages 139-153. Cambridge University
Press, Cambridge, 1984.
Conventional algebraic specification techniques cannot express
relationships between sorts formally. The approach presented here puts more
structure into the specification by allowing a partial ordering on the set of
sorts to describe that one sort is a subsort of another sort. This concept
implies that one function can occur more than one time in the signature with
different domains and codomains. The initial algebra semantics of our
specifications with a partial ordering on the set of sorts are
studied.
(15 pages, gzipped PostScript: 1584kb via
HTTP, uncompressed PostScript: 20309kb via
HTTP, PDF: 1179kb via
HTTP)
- [Gogolla et al., 1984]
- Martin Gogolla,
Klaus Drosten, Udo Lipeck, and Hans-Dieter Ehrich.
Algebraic and Operational Semantics of Specifications Allowing Exceptions and
Errors.
Journal on Theoretical Computer Science, Elsevier, NL,
34:289-313, 1984.
The specification of abstract data types requires the possibility
to treat exceptions and errors. We present an approach allowing all forms of
error handling: error introduction, error propagation and error recovery. The
algebraic semantics of our method and a new correctness criterion are given.
We also introduce an operational semantics of a subclass of our
specifications which coincides with the algebraic semantics.
(25 pages, gzipped PostScript: 1749kb via
HTTP, uncompressed PostScript: 22673kb via
HTTP)
- [Gogolla, 1983a]
- Martin Gogolla.
Algebraic Specification of Subsorts.
In Manfred Broy and Martin Wirsing, editors, Abstracts 2nd Int. Workshop
Abstract Data Types (WADT'83). Universität Passau,
Informatik-Bericht, 1983.
A method for the algebraic specification of subsorts and
overloaded operators is presented. In this approach algebras are described by
equations and declarations. A declaration is a construct, which assures that
an expression has a certain type. It is shown that every specification
consisting of equations and declarations has an initial model. Furthermore it
is proved that declarations can be expressed only by equations using hidden
sorts and functions. An as application it is shown how errors and exceptions
in abstract data types can be treated by using declarations. For every sort
an ok subsort representing the non error elements is introduced and by the
use of declarations the functions are divided into those which may introduce
errors and those which return ok values when applied to such ones. By this,
error introduction and error propagation as well as error recovery is
possible.
- [Gogolla, 1983b]
- Martin
Gogolla.
Algebraic Specifications with Partially Ordered Sorts and Declarations.
Forschungsbericht 169, Universität Dortmund, Abteilung Informatik,
1983.
Conventional algebraic specification techniques cannot express
relationships between sorts formally. The approach presented here puts more
structure into the specification by allowing a partial ordering on the set of
sorts to describe that one sort is a subsort of another sort. This concept
implies that one function can occur more than one time in the signature with
different domains and codomains. Apart from equations our specifications
allow declarations to type a term of a certain sort to a subsort of the given
one. The initial algebra semantics of our specifications with a partial
ordering on the set of sorts are studied.
- [Gogolla and Ehrich,
1983]
- Martin Gogolla and Hans-Dieter Ehrich.
Algebraic Specifications with Subsorts Using Declarations.
Bulletin of the EATCS, 21:31-38, 1983.
Conventional algebraic specifications describe data types some
times only implicit with hidden sorts and functions. A more powerful and
elegant technique can be achived by putting more structure into the
specification. Our approach distinguishes between basis sorts and subsorts.
The subsorts, whose carriers are included in the basis sort carriers, are
described by declarations, i.e. a list of terms possibly with variables of
basis as well as subsorts. We study the initial algebra semantics of our
specifications, which include declarations and equations.
- [Drosten et al.,
1982]
- Klaus Drosten, Martin Gogolla, Hans-Dieter Ehrich, and Udo
Lipeck.
A Hierarchical Approach to an Operational Semantics for Conditional Algebraic
Specifications.
Forschungsbericht 144, Universität Dortmund, Abteilung Informatik,
1982.
For the specification of abstract data types, it is most
convenient in many cases not only to have pure equations, but conditional
ones. We present a hierarchical approach where conditions have to be
evaluated on underlying levels. An operational semantics is obtained via term
rewriting systems. In order to guarantee its well-definedness, we provide
sufficient syntactical criteria for the Church-Rosser property. Moreover,
these criteria are sufficient for the termination of the full substitution
reduction strategy, as well.
- [Gogolla et al.,
1982a]
- Martin Gogolla, Klaus Drosten, Udo Lipeck, and Hans-Dieter
Ehrich.
Algebraic and Operational Semantics of Exceptions and Errors.
In Armin B. Cremers and Hans-Peter Kriegel, editors, Proc. 6th GI Conf.
Theoretical Computer Science, pages 141-151. Springer, Berlin,
LNCS 145, 1982.
The specification of abstract data types requires the possibility
to treat exceptions and errors. We present an approach allowing all forms of
error handling: error introduction, error propagation and error recovery. The
algebraic semantics of our method and a new correctness criterion are given.
We also introduce an operational semantics of a subclass of our
specifications which coincides with the algebraic semantics.
- [Gogolla et al.,
1982b]
- Martin Gogolla, Klaus Drosten, Udo Lipeck, and Hans-Dieter
Ehrich.
Algebraic and Operational Semantics of Specifications Allowing Exceptions and
Errors.
Forschungsbericht 140, Universität Dortmund, Abteilung Informatik,
1982.
The specification of abstract data types requires the possibility
to treat exceptions and errors. We present an approach allowing all forms of
error handling: error introduction, error propagation and error recovery. The
algebraic semantics of our method and a new correctness criterion are given.
We also introduce an operational semantics of a subclass of our
specifications which coincides with the algebraic semantics.
- [Gogolla, 1980]
- Martin Gogolla.
Eine Charakterisierung von nicht-strukturierten Flußdiagrammen.
Master's thesis, Universität Dortmund, Abteilung Informatik, 1980.
In dieser Arbeit wird eine Formalisierung der Begriffe
Flußdiagramm und Strukturiertheit eines Flußdiagramms angegeben, und
es werden nicht-strukturierte Flußdiagramme über bestimmte
Teilgraphen beschrieben. Flußdiagramme geben den Kontrollfluß von
Programmen wieder, und Analysen des Programmablaufs können unter anderem
zur Optimierung in Compilern, Umkehrübersetzung von maschinennahen
Programmen und Umwandlung von unstrukturierten Programmen in lesebare Form
dienen. Fragestellungen nach der Ursache der Unstrukturiertheit sind
sicherlich auch im Hinblick auf die Methodik der Programmierung von
Interesse.
- [Coy et al., 1979]
- Wolfgang Coy, Claudio
Moraga, Friedrich Abraham, Angelika Beese, Werner Bielefeld, Magdalena
Bonsiepen, Martin Gogolla, Michael Land, and Manfred Siebert.
Adaptive und Lernende Systeme - Bericht einer Projektgruppe Wintersemester
1978 - Sommersemester 1979.
Interne Berichte und Skripten, Universität Dortmund, Abteilung
Informatik, 1979.
In der Projektgruppe ``Adaptive und Lernende Systeme'' wollten die
Veranstalter eine Möglichkeit anbieten, das Problem des Lernens im Gebiet
der formalen Sprachinferenz zu untersuchen. Nach einer einheitlichen
Verarbeitung von Grundbeiträgen aus der Literatur ist die Gruppe in der
Lage, sich mit Inferenzalgorithmen zu beschäftigen, einige zu entwickeln,
in Form eines Programms zu testen und zu bewerten. Schließlich bietet
sich die Möglichkeit, Algorithmen für Inferenz über verschiedenen
Sprachen der Chomsky-, Petri- oder Lindenmayer-Sprachfamilien weiter zu
untersuchen.
Home|People|Teaching|Publications
Last change: 01.12.2019