13 research outputs found
Optimalsteuerung zeitbehafteter Synchronisationsgraphen mit Ressourcenkonkurrenz und Aktualisierung von Referenzsignalen
Timed event graphs (TEGs) are a subclass of timed Petri nets that model synchronization and delay phenomena, but not conflict or choice. We consider a scenario where a number of TEGs share one or several resources and are subject to changes in their output-reference signals. Because of resource sharing, the resulting overall discrete event system is not a TEG. We propose a formal method to determine the optimal control input for such systems, where optimality is in the sense of the widely adopted just-in-time criterion. Our approach is based on a prespecified priority policy for the TEG components of the overall system. It builds on existing control theory for TEGs, which exploits the fact that, in a suitable mathematical framework (idempotent semirings such as the max-plus or the min-plus algebra), the temporal evolution of TEGs can be described by a set of linear time-invariant equations.Zeitbehaftete Synchronisationsgraphen (ZSGen) bilden eine spezielle Klasse zeitbehafteteter Petri-Netze. Sie können Synchronisations- und Verzögerungsphänomene modellieren, nicht aber Konflikte. Wir untersuchen ein Szenario, in dem sich mehrere ZSGen eine oder mehrere Ressourcen teilen und die Referenzsignale der ZSGen unvorhersehbaren Änderungen unterworfen sind. Da die beteiligten ZSGen um Ressourcen konkurrieren, ist das Gesamtsystem kein ZSG. Wir beschreiben eine formale Vorgehensweise zur Bestimmung des im just-in-time Sinne optimalen Stellsignals für dieses Gesamtsystem. Unser Ansatz basiert auf einer vorab festgelegten Priorisierung der einzelnen ZSGen. Er baut auf der existierenden Regelungstheorie für ZSGen auf und nutzt die Tatsache, dass sich die zeitliche Entwicklung von ZSGen in einem geeigneten mathematischen Rahmen (idempotente Halbringe wie beispielsweise die max-plus- oder die min-plus-Algebra) durch lineare zeitinvariante Gleichungen beschreiben lässt
Traps characterize home states in free choice systems
AbstractFree choice nets are a subclass of Petri nets allowing to model concurrency and nondeterministic choice, but with the restriction that choices cannot be influenced externally. Home states are ground markings which can be reached from any other reachable marking of a system. A trap is a structurally defined part of a net with the property that once it is marked (that is, carries at least one token), it will remain remarked in any successor marking.The main result of this paper characterizes the home states of a live and bounded free choice system by the property that all traps are marked. This characterization leads to a polynomial-time algorithm for deciding the home state property. Other consequences include the proof that executing all parts of a net at least once necessarily leads to a home state; this has been a long standing conjecture
Liveness of extended control structure nets
Journal ArticleA new subclass of Petri nets is defined allowing the control structure representation of parallel programs including arbitrary semaphore operations. Structural properties of the "Extended Control Structure Nets" are discussed and seven necessary and sufficient conditions for their liveness are proved
Formale Verifikation digitaler Systeme mit Petrinetzen
Die Arbeit beschäftigt sich mit dem Entwurf und der Verifikation digitaler Systeme. Ziel ist die Modellierung und formale Verifikation digitaler Systeme mit Petrinetzen auf funktionaler Ebene. Im ersten Teil der Arbeit wird eine petrinetz-basierte Hardware-Entwurfsmethodik vorgeschlagen. Petrinetze werden als Beschreibungsmittel für digitale Systeme und als Werkzeug für deren Simulation, Validierung, Analyse und Verifikation genutzt. Die formale Verifikation eines Petrinetz-Modells wird mit der Methode der Eigenschaftsprüfung realisiert
Spawn & Merge - A programmingmodel for deterministic synchronization of distributed systems
Bestehende Ansätze zur deterministischen Ausführung führen alle Codebereiche einer Anwendung voll-deterministisch aus, was mit hohen Performancekosten und einem Verlust der Skalierbarkeit einhergeht. In dieser Arbeit wird ein Programmiermodell entwickelt, das eine skalierbare deterministische Ausführung einer verteilten Anwendung mit geringeren Performancekosten (gegenüber vollem Determinismus) ermöglicht.
Dazu wird das Konzept des Determinismus auf Applikationsebene eingeführt, das im Gegensatz zu vollem Determinismus die deterministische Ausführung auf diejenigen Codebereiche beschränkt, deren nebenläufige Ausführung einen Einfluss auf das deterministische Ergebnis hat. Das darauf aufbauende Spawn & Merge Programmiermodell ermöglicht die automatisierte Entscheidung, ob die Ausführungsreihenfolge zweier Codebereiche für ein deterministisches Ergebnis beibehalten werden muss. Die Evaluation eines Prototyps für Spawn & Merge in Verteilten Systemen zeigt, dass verteilte Spawn & Merge Anwendungen, die einen hohen parallelisierbaren Anteil haben, effizient skalieren können (bis zu 100% der maximal erreichbaren Beschleunigung), während eine deterministische Ausführung der Anwendungslogik garantiert wird.
Dem Performancegewinn stehen die Kosten für die Mechanismen gegenüber, die den Determinismus der Anwendung ermöglichen und sich aus den Kosten für die intern verwendete Operational Transformation (OT) und den eingeführten Wartebedingungen zusammensetzen. Der Großteil der potenziellen Wartebedingungen wird durch ein internes dynamisches Scheduling der parallel ausgeführten Anteile der Anwendung verhindert. Die verbleibenden Wartebedingungen wurden durch ein angepasstes OT-System, das eine effiziente deterministische Zusammenführung in beliebiger Reihenfolge ermöglicht, weiter reduziert. Die Höhe der OT-Kosten ergibt sich aus der Anwendung und kann einen Großteil der Ausführungszeit einnehmen (im Worst Case bis zu 97,5% in den durchgeführten Messungen), wenn viele Modifikationen an geteilten Datenstrukturen durchgeführt und häufig zu parallel ausgeführten Anteilen der Anwendung synchronisiert werden. Das liegt an der Berechnungskomplexität O(n^2) der verwendeten OT-Systeme. Die OT-Kosten sind allerdings für eine Anwendung konstant (für feste Eingabedaten). Somit sinkt der Anteil der OT-Kosten an der Gesamtlaufzeit bei steigender Parallelität. Die Eignung von Spawn & Merge für eine Anwendung ist somit abhängig vom parallelisierbaren Anteil, der Anzahl durchgeführter Modifikationen an geteilten Datenstrukturen und der Häufigkeit von Synchronisationen innerhalb der Anwendung.Existing approaches for deterministic execution run all code sections in a fully deterministic manner, resulting in high performance costs and a loss of scalability. In this thesis we develop a programming model for a scalable deterministic execution of distributed applications, which introduces less performance costs than fully deterministic systems.
We introduce the concept of Application-level Determinism, which, in contrast to full determinism, limits the deterministic execution to code sections that potentially influence the deterministic result of the application when executed concurrently. Based on this concept, the Spawn & Merge programming model automates the decision whether the execution of two code segments must be kept in order to maintain a deterministic result. The evaluation of a prototype of Spawn & Merge for distributed systems shows that applications with a high share of parallelizable code can scale efficiently (achieve up to 100% of maximum speedup possible) and guarantee the deterministic and reproducible execution of the application logic.
The performance gain competes with the costs for the determinism-enforcing mechanisms used by Spawn & Merge: Operational Transformation (OT) and waiting conditions introduced. The majority of potential waiting conditions is automatically dealt with by internal dynamic scheduling of the parallel parts of the application. The remaining waiting conditions are further reduced by introducing a modified OT system that allows for an efficient deterministic merge in any given order. The costs for OT depend on the application and can take up most of the execution time (up to a worst case of 97,5% in the performed measurements) when many modifications of shared data structures are performed and when there is a high amount of synchronization between the parts of the application that are executed in parallel. This is due to the computational complexity of O(n^2) for the OT systems used. However, these costs for OT are constant for an application for a given input. Thus, the share of OT on the overall application runtime reduces with rising parallelism. Therefore, the feasibility of Spawn & Merge for an application depends on the parallelizable share of the application, the amount of performed modifications of shared data structures, and the amount of internal synchronizations
Ein Beitrag zum ganzheitlichen Engineneering von elektrischen Servoantriebssystemen
Das Engineering von elektrischen Antriebssystemen beinhaltet zur Erfüllung vielfältiger wirtschaftlicher und technischer Anforderungen diverse Herausforderungen. Die Arbeit stellt eine Entwicklung und Umsetzung einer ganzheitlichen Betrachtung der zu lösenden Teilaufgaben dar. Hierzu wird ein neuartiges Konzept entwickelt und anschließend algorithmisch umgesetzt. Durch die Erprobung an typischen Anwendungen und einer Modellmaschine wird der Mehrwert der neuen Vorgehensweise belegt
Ein Konzept auf der Basis von Ontologien und Petri-Netzen
In der Dissertation wird das Themenfeld der Modellierung kooperativer Informationssysteme behandelt. Zu diesem Zweck wird ein Ansatz für die Modellierung kooperativer Informationssysteme entwickelt, der zum einen auf Ontologien und zum anderen auf Petri-Netzen basiert. Beide Konzepte werden vom Verfasser zu so genannten „Ontologie-Netzen“ zusammengeführt.
Seit einigen Jahren werden Ontologien in unterschiedlichsten Wissenschaftsdisziplinen untersucht. Das Interesse an Ontologie ist nicht zuletzt auf die jüngsten Entwicklungen im Bereich des Semantic Web zurückzuführen. Auch über webbasierte Applikationen hinaus werden Ontologien in Szenarien untersucht, in denen Akteure mit unterschiedlichen Sprach- und Wissenshintergründen in Kommunikation miteinander treten. Während nämlich traditionelle Modellierungsmethoden lediglich die Ex-Ante Vorgabe eines Begriffsystems unterstützen, können mit Ontologien darüber hinaus auch Ex-Post Harmonisierungen unterschiedlicher Begriffswelten angestrebt werden. Darüber hinaus verfügen Ontologien in der Regel über eine Inferenzkomponente, die die Erschließung von „implizitem“ Wissen erlaubt. Die abstrakte Spezifikation regelartiger Zusammenhänge in einer Ontologie kann somit bei konkreter Anwendung in einer Domäne zur Explikation von Fakten führen, die ansonsten nicht berücksichtigt werden könnten.
Aus dem Blickwinkel der Wirtschaftswissenschaften haben Ontologien eine besondere Bedeutung aufgrund ihres Leistungspotenzials für Zwecke der Unternehmensmodellierung. Insbesondere für Organisationsformen, die unter das Spektrum zwischenbetrieblicher Kooperationen fallen, könnten sich Ontologien als effektivitäts- und effizienzsteigernde Methoden der Unternehmensmodellierung erweisen. Es sind nämlich gerade Organisationsformen, an denen Akteure aus unterschiedlichen Hintergründen für Zwecke der gemeinschaftlichen Leistungserstellung zusammenkommen, bei denen sich bestehende Sprachbarrieren negativ auf die Geschäftsprozesse auswirken. Darüber hinaus erlauben Ontologien mit ihrer Inferenzkomponente die formale Spezifikation von „Business Rules“ die bei der gemeinschaftlichen Leistungserstellung zu gelten haben.
Ontologien beschränken sich allerdings auf die rein statischen Aspekte, da sie nur für die Repräsentation deklarativen Wissens verwendet werden können. Daher haben Ontologien auch nur eine deklarative Semantik. Sie äußert sich z.B. darin, dass die Reihenfolge der (Teil-)Spezifikationen für ihre Bedeutung irrelevant ist. Dadurch kann immer nur ein bestimmter Zustand der Realität modelliert werden. Von Methoden zur Modellierung zwischenbetrieblicher Kooperationen wird allerdings vermehrt gefordert, sowohl statische als auch dynamische Aspekte erfassen zu können. Unter dem Paradigma der „Geschäftsprozessorientierung“ haben sich daher vermehrt solche Methoden durchgesetzt, die sowohl statische als auch dynamische Aspekte der Realität zu Erfassen in der Lage sind.
Mit dem integrativen Modellierungskonzept wird in der vorliegenden Arbeit ein Ansatz vorgestellt, der es erlaubt, Ontologien um dynamische Aspekte zu erweitern. Hierzu werden Ontologien in eine Klasse höherer Petri-Netze eingebunden. Letztgenannte haben sich nämlich in der Vergangenheit bei der Ausweitung formaler Spezifikationen um dynamische Aspekte als äußerst fruchtbar erwiesen. Dabei wird die Kompatibilität der beiden Ansätze über ihre gemeinsame prädikatenlogische Basis gewährleistet. Darüber hinaus erfreuen sich Petri-Netze sowohl in theoretischen Ausarbeitungen als auch in praktischen Umsetzungen einer hohen Beliebtheit. Die noch relativ jungen Forschungsarbeiten zu Ontologien könnten durch einen solchen Ansatz in ihrer Akzeptanzrate erhöht werden
Decidability and coincidence of equivalences for concurrency
There are two fundamental problems concerning equivalence relations in con-currency. One is: for which system classes is a given equivalence decidable? The second is: when do two equivalences coincide? Two well-known equivalences are history preserving bisimilarity (hpb) and hereditary history preserving bisimi-larity (hhpb). These are both ‘independence ’ equivalences: they reflect causal dependencies between events. Hhpb is obtained from hpb by adding a ‘back-tracking ’ requirement. This seemingly small change makes hhpb computationally far harder: hpb is well-known to be decidable for finite-state systems, whereas the decidability of hhpb has been a renowned open problem for several years; only recently it has been shown undecidable. The main aim of this thesis is to gain insights into the decidability problem for hhpb, and to analyse when it coincides with hpb; less technically, we might say, to analyse the power of the interplay between concurrency, causality, and conflict. We first examine the backtracking condition, and see that it has two dimen
Ein Ansatz zur Entwicklung von Modellierungswerkzeugen für die softwaretechnische Lehre
Beim Lehren und Lernen graphischer Modellierungssprachen wie der Unified
Modeling Language (UML) ist eine Unterstützung durch entsprechende Werkzeuge
sinnvoll und wünschenswert -- nicht zuletzt, weil es die Lernenden frühzeitig
an einen Umgang mit Werkzeugen gewöhnt, wie er im professionellen Umfeld
Standard ist. Die meisten existierenden Modellierungswerkzeuge (z.B. IBM
Rational Rose oder Borland Together) richten sich jedoch ausschließlich an
die Zielgruppe der professionellen Software-Entwickler und lassen einen
Einsatz in der Lehre völlig außer Acht. Das Ergebnis sind ausgesprochen
schwergewichtige Produkte (im Sinne von Funktionalitätsumfang, benötigtem
Hauptspeicher und CPU-Leistung), deren reichhaltige Möglichkeiten zwar den
Bedürfnissen eines professionellen Umfelds entgegenkommen, aber weit über das
hinausgehen, was in einem Praktikum oder einer Übungsgruppe benötigt wird
oder angemessen ist. Zu viele Funktionen lenken die Studierenden vom
eigentlichen Lehrstoff ab und führen dazu, dass mehr Zeit in die Erlernung
der Verwendung des Werkzeugs als in die eigentlich zu vermittelnde
Modellierungssprache investiert wird. Kommen mehrere Modellierungssprachen
-- und damit mehrere Werkzeuge -- zum Einsatz, multipliziert sich dieser
Aufwand, da die einzelnen Werkzeuge einander meist nicht ähneln. Bei einer
großen Anzahl von Studierenden können auch Lizenzkosten schnell zu einem
Problem werden.
Um diesen Schwierigkeiten zu begegnen, wurde im Rahmen der vorliegenden
Arbeit eine Familie von graphischen Modellierungswerkzeugen auf der Basis
eines speziellen Meta-CASE-Frameworks ausschließlich für die Lehre
entwickelt. Diese Familie umfasst derzeit verschiedene Vertreter für
strukturelle und dynamische Anteile der UML, Petrinetze sowie
Prozessmodellierung und -begleitung auf der Basis des Unified Process. Bei
der Planung und Realisierung dieser Werkzeuge wurde bewusst Wert darauf
gelegt, nicht mit professionellen Produkten zu konkurrieren, sondern
stattdessen leichtgewichtige Werkzeuge zu schaffen, die auf die
Kernfunktionalität des Modellierens reduziert sind. Da alle Werkzeuge die
gleiche technische Basis besitzen, war es möglich, eine einheitliche
Benutzungsschnittstelle zu etablieren, die sich auf notwendige Elemente
konzentriert und damit den Einarbeitungsaufwand minimiert. Gleichzeitig wurde
didaktisch motivierte Funktionalität in die einzelnen Werkzeuge eingebracht,
die in professionellen Produkten nicht zu finden ist. Diese zusätzliche
Funktionalität beinhaltet zum Beispiel ein Hypertextsystem zur Integration
von Lehrstoff sowie Simulations-, Analyse- und Visualisierungsmöglichkeiten,
durch welche die Studierenden beim Lernen der jeweiligen Modellierungssprache
unterstützt werden. Einige der Werkzeuge wurden im Rahmen der Lehre
eingesetzt und evaluiert. Die Erfahrungen, die bei diesen Einsätzen gewonnen
wurden, waren sehr positiv.With today's software systems becoming more and more complex, teams getting
larger, and development itself being distributed across space and time, the
importance of a good model of the system under construction is growing. In
order to prepare new software engineers for these requirements, it is
necessary to teach them during their studies basic modeling concepts as well
as concrete modeling languages, the Unfied Modeling Language (UML) surely
being one, but not the only one of these. If the size of models used, for
example, in assignments approaches that of real-life systems, tool support
becomes necessary.
Unfortunately, the industrial modeling tools typically used for that purpose,
such as Borland Together or IBM Rational Rose, have significant drawbacks
when applied in an educational setting. These drawbacks stem from the fact
that industrial tools are rather heavyweight pieces of software, both in
terms of their feature set and the hardware required to run them smoothly.
As a consequence of the complexity, there is a risk that merely the tool
handling is taught instead of the particular modeling language or method. If
different tools are used for different notations, this situation becomes even
worse, since the students have to be familiar with each of the tools before
being able to work with them effectively. Being targeted at professional
developers who are assumed to be proficient in modeling, industrial tools
usually do not include functionality that supports learning a modeling
language. Last, but not least, the price of industrial tools quickly becomes
a problem for academic institutions.
As a solution to the aforementioned problem, the author proposes a
specialized Meta-CASE approach to building dedicated modeling tools for
Software Engineering education. Based on the approach, a product family of
modeling tools has been developed. This family currently provides support for
modeling structural and dynamical aspects of the UML, for modeling Petri
Nets, and for process modeling based on the Unified Process. While designing
and implementing the tools, emphasis was placed upon not competing with
professional tools. Instead, the tools are restricted to the core
functionality of modeling -- thus lightweight -- and have a clear focus on
usability. Since all tools are built upon the same technical foundation in
form of a Java framework, it was easy to establish a consistent user
interface that minimizes the learning effort for the tools themselves.
Additionally, the tools have been augmented with new functionality that is
motivated by didactical considerations and is typically not found in
industrial tools. This includes, for instance, a hypertext system that allows
linking hypertext pages to model elements and vice versa. It can be used for
documenting a tool, a modeling language, or a particular model. Some of the
tools also include facilities for simulating, analyzing, or visualizing
models, in order to support learning the semantics of a modeling language.
These facilities also play an important role in motivating the students. The
tools have been and still are used in Software Engineering education with
great success. Formative evaluations have been conducted for one
representative tool of the family. The results of these evaluations have
been very promising