Van Ham, Jurgen Michael (2015)
Seamless Concurrent Programming of Objects, Aspects and Events.
Technische Universität Darmstadt
Dissertation, Erstveröffentlichung
Kurzbeschreibung (Abstract)
The advanced concurrency abstractions provided by the Join calculus overcome the drawbacks of low-level techniques such as locks and monitors. They rise the level of abstraction, freeing programmers that implement concurrent applications from the burden of concentrating on low-level details. However, with current approaches the coordination logic involved in complex coordination schemas is fragmented into several pieces including join patterns, data emissions triggered in different places of the application, and the application logic that implicitly creates dependencies among channels, hence indirectly among join patterns. We present JEScala, a language that captures coordination schemas in a more expressive and modular way by leveraging a seamless integration of an advanced event system with join abstractions. We implement Joins-based state machines using JEScala and introduce a domain specific language for finite state machines that make faster alternative implementations possible. We validate our approach with case studies and we provide a first performance assessment. We compare the performance of three different implementations of a finite state machine. Finally, we validate the idea of constructing a concurrent JEScala program by using the parts of a sequential Event-Based program in combination with an event monitor, a component that synchronizes handling of multiple events.
Typ des Eintrags: |
Dissertation
|
Erschienen: |
2015 |
Autor(en): |
Van Ham, Jurgen Michael |
Art des Eintrags: |
Erstveröffentlichung |
Titel: |
Seamless Concurrent Programming of Objects, Aspects and Events |
Sprache: |
Englisch |
Referenten: |
Mezini, Prof. Dr. Mira ; De Meuter, Prof. Dr. Wolfgang |
Publikationsjahr: |
13 Januar 2015 |
Ort: |
Darmstadt |
Datum der mündlichen Prüfung: |
9 März 2015 |
URL / URN: |
http://tuprints.ulb.tu-darmstadt.de/5125 |
Kurzbeschreibung (Abstract): |
The advanced concurrency abstractions provided by the Join calculus overcome the drawbacks of low-level techniques such as locks and monitors. They rise the level of abstraction, freeing programmers that implement concurrent applications from the burden of concentrating on low-level details. However, with current approaches the coordination logic involved in complex coordination schemas is fragmented into several pieces including join patterns, data emissions triggered in different places of the application, and the application logic that implicitly creates dependencies among channels, hence indirectly among join patterns. We present JEScala, a language that captures coordination schemas in a more expressive and modular way by leveraging a seamless integration of an advanced event system with join abstractions. We implement Joins-based state machines using JEScala and introduce a domain specific language for finite state machines that make faster alternative implementations possible. We validate our approach with case studies and we provide a first performance assessment. We compare the performance of three different implementations of a finite state machine. Finally, we validate the idea of constructing a concurrent JEScala program by using the parts of a sequential Event-Based program in combination with an event monitor, a component that synchronizes handling of multiple events. |
Alternatives oder übersetztes Abstract: |
Alternatives Abstract | Sprache |
---|
L’utilisation de concepts avancés de programmation concurrente permet de dépasser les inconvénients de l’utilisation de techniques de bas niveau à base de verrous ou de moniteurs. Elle augmente le niveau d’abstraction, libérant les programmeurs d’applications concurrentes d’une focalisation excessive sur des détails. Cependant, avec les approches actuelles, la logique nécessaire à la mise en place de schémas de coordinations complexes est fragmentée en plusieurs points de l’application sous forme de « join patterns », de notifications et de la logique applicative qui crée implicitement des dépendances entre les canaux de communication et donc, indirectement, les « join patterns » (qui définissent ces canaux). Nous présentons JEScala, un langage qui capture les schémas de coordination (d’une application concurrente) d’une manière plus expressive et modulaire, en s’appuyant sur l’intégration fine d’un système d’évènements avancé et des « join patterns ». Nous implémentons des automates finis à partir de « joins » à l’aide de JEScala et introduisons un langage dédié à la définition de ces automates finis permettant d’en obtenir des implémentations plus efficaces. Nous validons notre approche avec des études de cas et évaluons l’efficacité de son exécution. Nous comparons la performance de trois implémentations d’un automate fini. Nous validons enfin l’idée d’un moniteur d’évènements en créant un programme JEScala concurrent à partir d’un découpage d’un programme séquentiel. | Französisch |
|
Freie Schlagworte: |
Event-driven Programming, Aspect-Oriented Programming, Concurrency, Join Patterns, Scala |
Schlagworte: |
Einzelne Schlagworte | Sprache |
---|
Programmation par événements, programmation par aspects, concurrence, «Join Patterns», Scala | Französisch |
|
URN: |
urn:nbn:de:tuda-tuprints-51250 |
Sachgruppe der Dewey Dezimalklassifikatin (DDC): |
000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik |
Fachbereich(e)/-gebiet(e): |
20 Fachbereich Informatik 20 Fachbereich Informatik > Softwaretechnik |
Hinterlegungsdatum: |
29 Nov 2015 20:55 |
Letzte Änderung: |
02 Mär 2022 13:57 |
PPN: |
|
Referenten: |
Mezini, Prof. Dr. Mira ; De Meuter, Prof. Dr. Wolfgang |
Datum der mündlichen Prüfung / Verteidigung / mdl. Prüfung: |
9 März 2015 |
Schlagworte: |
Einzelne Schlagworte | Sprache |
---|
Programmation par événements, programmation par aspects, concurrence, «Join Patterns», Scala | Französisch |
|
Export: |
|
Suche nach Titel in: |
TUfind oder in Google |
|
Frage zum Eintrag |
Optionen (nur für Redakteure)
|
Redaktionelle Details anzeigen |