@inproceedings{8346,
  abstract     = {{In den letzten Jahren ist ein deutlicher Trend zu verstärkt nebenläufiger Software festzustellen. Hierfür gibt es verschiedene Gründe, wie die rasante Verbreitung des Internets mit seinen Client/Server-Architekturen und die verstärkte Unterstützung nebenläufiger Programmierung in neuen Programmiersprachen wie z.B. Java. Softwareentwickler werden somit zunehmend mit dem Problem der Synchronisation der nebenläufigen Abläufe in der Software konfrontiert. Dabei treten immer wieder gravierende Fehler auf. Besonders problematisch ist in diesem Zusammenhang der Nichtdeterminismus nebenläufiger Abläufe, der dazu führt, dass Fehler unter Umständen bei Tests nicht auffällig werden, weil das Auftreten der Fehler von einem bestimmten Zeitverhalten abhängt, das beim Test nicht auftritt. Die Situation wird noch erschwert, wenn man nebenläufige Software aus Komponenten verschiedener Hersteller zusammensetzt. Bei der Zusammenarbeit dieser Komponenten auftretende Fehler im nebenläufigen Ablauf sind besonders schwierig zu diagnostizieren und zu beheben, da über die verwendeten Komponenten meist nichts außerhalb ihrer nicht notwendigerweise vollständigen und korrekten Spezifikation bekannt ist. Dies ist ein aktuelles Problem, da Komponententechnologien den Kern vieler moderner Anwendungen bilden. Viele Fehler in nebenläufiger Software sind auf grundsätzliche Fehler beim Entwurf der Software zurückzuführen. Auch beim Übergang vom Modell zur Implementierung entstehen Fehler, insbesondere wenn das Modell nicht direkt bei der Implementierung umsetzbar ist. Dies ist häufig der Fall, weil die Implementierung meist auf der Verwendung einfacher Synchronisationskonstrukte, wie z.B. Semaphoren, basiert, welche in der verwendeten Modellierung kein direktes Gegenstück haben. Es ist also entscheidend, dass die Softwareentwickler beim Entwurf ein klares Bild von der zu entwickelnden Software erhalten, welches leicht in der Implementierung umzusetzen ist. Wir wollen im folgenden grundlegende Strukturen nebenläufiger Softwaresysteme aufzeigen, basierend darauf Anforderungen an Modellierungssprachen für solche Systeme formulieren und existierende Modellierungssprachen auf diese Anforderungen hin untersuchen. Dabei werden wir sehen, dass sich in diesen Systemen kleinere, nahezu in sich abgeschlossene, Abläufe identifizieren lassen, die wir als Operationen bezeichnen werden. Betrachtet man die Implementation so ist festzustellen, dass hier einige einfache Konstrukte im Vordergrund stehen, auf die das Modell abgebildet werden muss. Damit ergeben sich aus unserer Sicht zwei wesentliche Forderungen an Modellierungssprachen: · Die Aufteilung in einzelne Operationen soll gefördert werden. · Gängige Synchronisationskonstrukte sollen direkt dargestellt werden, um die Lesbarkeit der Darstellung zu verbessern und um den Übergang in die Implementierung zu vereinfachen. Im nächsten Abschnitt werden wir die grundlegende Struktur nebenläufiger Software beschreiben, bevor wir dann Anforderungen diskutieren. Wir werden State Charts als eine gebräuchliche Modellierungssprache hinsichtlich dieser Anforderungen untersuchen und dabei sehen, dass diese den Forderungen nicht vollständig gerecht werden. Dies wird an einem Beispiel vertieft. Abschließend gehen wir kurz auf den Übergang von der Modellierung in die Implementierung ein.}},
  author       = {{Mehner, Katharina and Schattkowsky, Tim}},
  booktitle    = {{Proceedings of the 8th GROOM Workshop: Visuelle Verhaltensmodellierung verteilter und nebenläufiger Softwaresysteme (VVVNS 2000), Münster (Germany)}},
  pages        = {{14--18}},
  publisher    = {{Universität Münster}},
  title        = {{{Methodische Aspekte von Modellierungssprachen für nebenläufige Software}}},
  volume       = {{24}},
  year         = {{2000}},
}

@inproceedings{8347,
  author       = {{Mehner, Katharina and Wagner, Annika}},
  booktitle    = {{Proceedings of the Workshop on Modelle und Modellierungssprachen in Informatik und Wirtschaftsinformatik (Modellierung 2000), St. Goar (Germany)}},
  publisher    = {{Fölbach}},
  title        = {{{Visualisierung der Synchronisation von Java-Threads mit UML}}},
  volume       = {{15}},
  year         = {{2000}},
}

@proceedings{7792,
  editor       = {{Engels, Gregor and Beiersdörfer, K. and Schäfer, Wilhelm}},
  publisher    = {{Springer}},
  title        = {{{Informatik '99: Informatik überwindet Grenzen. Tagungsband der 29. Jahrestagung der Gesellschaft für Informatik, Paderborn (Germany)}}},
  year         = {{1999}},
}

@inproceedings{7849,
  author       = {{Deugo, Dwight and Küster, Jochen and Oppacher, Franz and von Otte, Ingo}},
  booktitle    = {{Proceedings of the conference on Artificial Intelligence (IC-AI 1999) Las Vegas, Nevada (USA)}},
  pages        = {{605--611}},
  publisher    = {{CSREA Press}},
  title        = {{{Patterns as a Means for Intelligent Software Engineering}}},
  volume       = {{2}},
  year         = {{1999}},
}

@inproceedings{7850,
  author       = {{Corradini, Andrea and Heckel, Reiko and Montanari, Ugo}},
  booktitle    = {{Proceedings of the 12th International Symposium on Fundamentals of Computation Theory (FCT '99)}},
  pages        = {{13--38}},
  publisher    = {{Springer}},
  title        = {{{Tile Transition Systems as Structured Coalgebras}}},
  volume       = {{1684}},
  year         = {{1999}},
}

@inproceedings{7851,
  author       = {{Cherchago, Alexey}},
  booktitle    = {{Proceedings of the All-Russia Students’, Young Scientists’ and Specialists’ Scientific and Technical Conference "New Information Technologies in Scientific Researches and in Education" (Ryazan, Russia)}},
  title        = {{{Application of the Structured Analysis and Design Technique (SADT) Methodology for the Medical Information Systems Development}}},
  year         = {{1999}},
}

@inproceedings{7852,
  abstract     = {{Today e-commerce applications use web browsers as an uniform user interface and they rely on databases as data sources. Different technologies exist for database access: common gateway interface (CGI), Java and its database interface java database connectivity (JDBC), proprietary approaches of database vendors, etc. We present criteria for the selection of an appropriate solution and we successivly apply them in our application development process. Throughout the development process of internet based database applications object oriented techniques can be used. The unified modeling language (UML) is used for requirement analysis and design of the application and the implementation proceeds with the programming language Java. The transition from the object oriented modeling language UML to the object oriented programming language Java succeeds smoothly. We report on our experience with the modeling tool Rational Rose 98 of Rational, Inc. We use Java and JDBC to implement a seminar reservation system that can be regarded as a small e-commerce application.}},
  author       = {{Engels, Gregor and Depke, Ralph and Borowski, Christoph}},
  booktitle    = {{Kolloquium Software-Entwicklung - Methoden, Werkzeuge, Erfahrungen}},
  pages        = {{531--540}},
  publisher    = {{Technische Akademie Esslingen}},
  title        = {{{Konzeption und objektorientierte Realisierung einer internet-basierten Datenbankanwendung}}},
  volume       = {{8}},
  year         = {{1999}},
}

@inproceedings{7856,
  author       = {{Engels, Gregor and Hücking, Roland and Sauer, Stefan and Wagner, Annika}},
  booktitle    = {{Proceddings of The Unified Modeling Language: Beyond the Standard, Second International Conference (UML 99), Fort Collins, Colorado, USA}},
  pages        = {{473--488}},
  publisher    = {{Springer}},
  title        = {{{UML Collaboration Diagrams and Their Transformation to Java}}},
  volume       = {{1723}},
  year         = {{1999}},
}

@inproceedings{7858,
  abstract     = {{In this paper the concurrent semantics of double-pushout (DPO) graph rewriting, which is classically defined in terms of shift-equivalence classes of graph derivations, is axiomatised via the construction of a free monoidal bi-category. In contrast to a previous attempt based on 2-categories, the use of bi-categories allows to define rewriting on concrete graphs. Thus, the problem of composition of isomorphism classes of rewriting sequences is avoided. Moreover, as a first step towards the recovery of the full expressive power of the formalism via a purely algebraic description, the concept of disconnected rules is introduced, i.e., rules whose interface graphs are made of disconnected nodes and edges only. It is proved that, under reasonable assumptions, rewriting via disconnected rules enjoys similar concurrency properties like in the classical approach.}},
  author       = {{Gadducci, Fabio and Heckel, Reiko and Llabrés, Mercé}},
  booktitle    = {{Proceedings of the 8th Conference on Category Theory and Computer Science (CTCS 1999), Edinburgh (UK)}},
  pages        = {{80--100}},
  publisher    = {{Elsevier}},
  title        = {{{A Bi-Categorical Axiomatisation of Concurrent Graph Rewriting}}},
  doi          = {{http://dx.doi.org/10.1016/S1571-0661(05)80309-3}},
  volume       = {{29}},
  year         = {{1999}},
}

@inproceedings{7859,
  author       = {{Heckel, Reiko}},
  booktitle    = {{Proceedings of the Dagstuhl-Seminar 99451 on Rigorous Analysis and Design for Software Intensive Systems}},
  number       = {{258}},
  title        = {{{Modeling Agent-Based Systems with Graph Transformation and UML}}},
  year         = {{1999}},
}

@inproceedings{7860,
  abstract     = {{An analysis of how visual modeling of structure and dynamic behavior of a multimedia application differs from modeling conventional software yields that aspects of the graphical user interface and time-dynamic behavior ought to be integral parts of a coherent multimedia application model. In this sense, we extend the model-view-controller paradigm towards multimedia.As a result, we present OMMMA-L, a visual Language for the Object-Oriented Modeling of MultiMedia Applications that is based on the Unified Modeling Language (UML). The structural and behavioral diagram types of UML have been analyzed and are adapted and extended according to multimedia application characteristics.A presentation diagram is introduced and integrated to adequately describe the visual presentation. In addition to explaining the different diagram types, we also give pragmatic guidelines on how to deploy and combine the various diagrams.}},
  author       = {{Sauer, Stefan and Engels, Gregor}},
  booktitle    = {{Proceedings of the IEEE Symposium on Visual Languages (VL 1999), Tokyo (Japan)}},
  pages        = {{80--87}},
  publisher    = {{IEEE Computer Society}},
  title        = {{{Extending UML for Modeling of Multimedia Applications}}},
  doi          = {{http://doi.ieeecomputersociety.org/10.1109/VL.1999.795878}},
  year         = {{1999}},
}

@techreport{8203,
  author       = {{Ehrig, Hartmut and Heckel, Reiko and Llabrés, Mercé and Orejas, Fernando}},
  publisher    = {{Technical University of Berlin}},
  title        = {{{Basic Properties of Double Pullback Graph Transitions}}},
  year         = {{1999}},
}

@techreport{8204,
  author       = {{Engels, Gregor and Hücking, Roland and Sauer, Stefan and Wagner, Annika}},
  publisher    = {{University of Paderborn, Department of Computer Science}},
  title        = {{{UML Collaboration Diagrams and Their Transformation to Java}}},
  year         = {{1999}},
}

@techreport{8205,
  author       = {{Engels, Gregor and Jan t'Hoen, Pieter and Dassen, Ray and Groenewegen, Luuk and G. Sprinkhuizen-Kuyper, Ida and Koopman, Pieter}},
  pages        = {{99--06}},
  publisher    = {{Leiden Institute of Advanced Computer Science}},
  title        = {{{SOCCA Extended with UML like Packages}}},
  year         = {{1999}},
}

@techreport{8206,
  abstract     = {{This document starts the formalisation of the modelling language of the SOCCA OO method in the formal specification language Z. It captures the `static' aspects of SOCCA, i.e. the meaning of SOCCA language elements at the type level, rather than `dynamic' aspects (dealing with the instance level (objects in execution)). It is restricted to core SOCCA; proposed extensions are not formalised.}},
  author       = {{Engels, Gregor and Dassen, Ray and Groenewegen, Luuk and G. Sprinkhuizen-Kuyper, Ida and Koopman, Pieter and Jan t'Hoen, Pieter}},
  publisher    = {{Leiden Institute of Advanced Computer Science}},
  title        = {{{A Formalisation of SOCCA using Z, part 1: The Type Level Concepts}}},
  year         = {{1999}},
}

@inproceedings{8321,
  abstract     = {{Der Entwicklungsprozeß von Multimediaanwendungen sollte ebenso wie der herkömmlicher Softwaresysteme eine Analyse und einen Entwurf beinhalten. In dieser Arbeit diskutieren wir, inwiefern die Modellierung der Struktur und des dynamischen Verhaltens einer Multimediaanwendung über die Modellierung herkömmlicher Software hinausgeht. Wir zeigen, daß Aspekte der Benutzungsschnittstelle und das Zeitverhalten integraler Bestandteil der Modellierung sein sollten. Als Ergebnis stellen wir die objektorientierte Modellierungssprache OMMMA-L vor, die auf der Unified Modeling Language (UML) aufbaut. Die Struktur- und Verhaltensdiagramme von UML wurden analysiert und gemäß der Charakteristika von Multimedia adaptiert bzw. erweitert. Im Klassendiagramm werden die Medientypen und die logische Struktur der Anwendung modelliert. Als Verhaltensdiagramme werden spezialisierte Sequenz- und Zustandsdiagramme eingesetzt. Mit dem Layoutdiagramm wird ein neuer Diagrammtyp hinzugefügt, der die integrierte und anschauliche Beschreibung der visuellen Darstellung und interaktiver Benutzereingaben einer Multimediaanwendung erlaubt. Neben der Vorstellung der einzelnen Diagrammtypen geben wir ein aus dem Metamodell zu UML abgeleitetes OMMMA-L-Metamodell an, in dem das Zusammenspiel der Modellelemente aus den verschiedenen Diagrammen spezifiziert wird.}},
  author       = {{Sauer, Stefan and Engels, Gregor}},
  booktitle    = {{Modellierung 1999, Workshop der Gesellschaft für Informatik e. V. (GI), März 1999 in Karlsruhe}},
  pages        = {{155--170}},
  publisher    = {{Teubner, Stuttgart}},
  title        = {{{UML-basierte Modellierung von Multimediaanwendungen}}},
  year         = {{1999}},
}

@inproceedings{8322,
  abstract     = {{We present an object-oriented approach based on the Unified Modeling Language (UML) for modeling structure and dynamic behavior of a multimedia information system. We extend the Model-View-Controller paradigm for interactive systems towards multimedia and show that aspects of the graphical user interface and time-dynamic behavior ought to be integral parts of a model. This is done in the intention of achieving a coherent model of a multimedia information system. As a result, we present OMMMA-L a UML-based language for the Object-Oriented Modeling of MultiMedia Applications. OMMMA-L deploys class and state diagrams of UML as well as an extended sequence diagram and a newly introduced presentation diagram to adequately specify the visual presentation within a multimedia information system. In addition to explaining the different diagram types, we also define pragmatic rules on how to deploy and combine the various diagrams. Additionally, we relate OMMMA-L to basic ideas of multimedia information systems.}},
  author       = {{Sauer, Stefan and Engels, Gregor}},
  booktitle    = {{Proceedings of the workshop on Multimedia Information Systems (MIS 1999), Indian Wells, CA (USA)}},
  pages        = {{64--71}},
  title        = {{{OMMMA: An Object-Oriented Approach for Modeling Multimedia Information Systems}}},
  year         = {{1999}},
}

@inproceedings{8323,
  author       = {{Corradini, Andrea and Große-Rhode, Martin and Heckel, Reiko}},
  booktitle    = {{Selected papers of the 13th International Workshop on Recent Trends in Algebraic Development Techniques (WADT 1998), Lisbon (Portugal)}},
  pages        = {{92--106}},
  publisher    = {{Springer}},
  title        = {{{An Algebra of Graph Derivations using Finite (co-) limit Double Theories}}},
  doi          = {{http://dx.doi.org/10.1007/3-540-48483-3_7}},
  volume       = {{1589}},
  year         = {{1999}},
}

@inproceedings{8324,
  author       = {{Corradini, Andrea and Heckel, Reiko and Montanari, Ugo}},
  booktitle    = {{Proceedings of the 2nd workshop on Coalgebraic Methods in Computer Science (CMCS 99)}},
  pages        = {{118--141}},
  publisher    = {{Elsevier}},
  title        = {{{From SOS Specifications to Structured Coalgebras: How to Make Bisimulation a Congruence}}},
  doi          = {{http://dx.doi.org/10.1016/S1571-0661(05)80273-7}},
  volume       = {{19}},
  year         = {{1999}},
}

@inproceedings{8325,
  abstract     = {{In this paper, dynamic meta modeling is proposed as a new approach to the operational semantics of behavioral UML diagrams. The dynamic meta model extends the well-known static meta model by a specification of the system’s dynamics by means of collaboration diagrams. In this way, it is possible to define the behavior of UML diagrams within UML. The conceptual idea is inherited from Plotkin’s structured operational semantics (SOS) paradigm, a style of semantics specification for concurrent programming languages and process calculi: Collaboration diagrams are used as deduction rules to specify a goal-oriented interpreter for the language. The approach is exemplified using a fragment of UML statechart and object diagrams. Formally, collaboration diagrams are interpreted as graph transformation rules. In this way, dynamic UML semantics can be both mathematically rigorous so as to enable formal specifications and proofs and, due to the use of UML notation, understandable without prior knowledge of heavy mathematic machinery. Thus, it can be used as a reference by tool developers, teachers, and advanced users.}},
  author       = {{Engels, Gregor and Heckel, Reiko and Sauer, Stefan}},
  booktitle    = {{Proceedings of the workshop on Rigorous Modeling and Analysis with the UML: Challenges and Limitations (satellite event of the Conference on Onject-Oriented Programming, Systems, Languages, and Applications (OOPSLA 1999)), Denver, CO (USA)}},
  title        = {{{Dynamic Meta Modelling: A Graphical Approach to Operational Semantics}}},
  year         = {{1999}},
}

