A Distributed Middleware for Automotive Applications - Wawersich, Christian; Stilkerich, Michael; Ellner, Ralf; Schröder-Preikschat, Wolfgang (Proceedings of the 1st Workshop on Models and Analysis for Automotive Systems, 2006)
UnivIS-Import:2015-04-16:Pub.2006.tech.IMMD.IMMD4.adistr
Keywords: KESO; Java; Realtime

A FUML-Based Distributed Execution Machine for Enacting Software Process Models - Ellner, Ralf; Al-Hilank, Samir; Drexler, Johannes; Jung, Martin; Kips, Detlef; Philippsen, Michael (Proceedings 7th European Conference on Modeling Foundations and Applications, 2011)
OMG's SPEM standard allows for a detailed modeling of software development processes and methods, but only a rather coarse description of their behavior. This gap can be filled by extending SPEM with a fine-grained behavior modeling concept based on UML activities and state machines. In order to gain full benefit from detailed software process models including behavior, an automated enactment of these software process models is required. In theory, the operational semantics of UML activities as defined by OMG's FUML (Semantics of a Foundational Subset for Executable UML Models) could be used to instantiate and sequentially simulate software process models on a single computer. However, FUML is insufficient to execute software process models to drive realistic projects with large and geographically spread teams. FUML lacks support for distributed execution in order to guide and support team members with their concurrent activities. FUML also does not fulfill key requirements of software processes, in particular requests for human interaction. Additionally, FUML requires explicit modeling of auxiliary user specific attributes and behavior of model elements, which is a cumbersome, repetitive and error-prone task and leads to non-reusable standard software process models. We present the required FUML extensions to support distributed execution, human interaction, and to weave in user specific extensions of the execution machine. With these FUML extensions it becomes feasible to enact reusable standard software process models in realistic projects. © 2011 Springer-Verlag.
UnivIS-Import:2015-04-16:Pub.2011.tech.IMMD.IMMD2.afumlb

An Integrated Tool Chain for Software Process Modeling and Execution - Ellner, Ralf; Al-Hilank, Samir; Jung, Martin; Kips, Detlef; Philippsen, Michael (Joint Proceedings of co-located Events at the 8th European Conference on Modeling Foundations and Applications (ECMFA 2012), 2012)
The Eclipse Process Framework (EPF) allows for a detailed modeling of software development processes and methods based on the Software and Systems Process Engineering Metamodel (SPEM) standard. A comprehensive electronic process guide may be generated from such a model. However, EPF and SPEM only support a rather coarse description of the behavior of software processes. As there is no support for automated enactment or simulation of these software process models, one cannot benefit from context-sensitive process guidance, automated process conformance checking, or automated progress tracking when enacting detailed software process models.   eSPEM (enactable SPEM) is an extension of the SPEM standard that supports UML activities and state machines for fine-grained behavior modeling. Its operational semantics is based on OMG’s fUML (Semantics of a Foundational Subset for Executable UML Models) and may be used to instantiate, simulate, and enact software process models. However, without a reasonable tooling for eSPEM the benefit for end users is still limited.   This paper presents an integrated tool chain based on eSPEM and Eclipse. The tool chain not only supports process modelers in modeling fine-grained eSPEM-based software processes, but also guides and supports project staff in working according to the process in a context-sensitive manner. It automates repetitive and cumbersome work like checking process conformance or progress tracking. Hence, it lets end users benefit from process modeling and enactment.
UnivIS-Import:2015-04-16:Pub.2012.tech.IMMD.IMMD2.aninte

eSPEM - A SPEM Extension for Enactable Behavior Modeling - Ellner, Ralf; Al-Hilank, Samir; Drexler, Johannes; Jung, Martin; Kips, Detlef; Philippsen, Michael (6th European Conference of Modelling Foundations and Applications, 2010)
OMG's SPEM - by means of its (semi-)formal notation - allows for a detailed description of development processes and methodologies, but can only be used for a rather coarse description of their behavior. Concepts for a more fine-grained behavior model are considered out of scope of the SPEM standard and have to be provided by other standards like BPDM/BPMN or UML. However, a coarse granularity of the behavior model often impedes a computer-aided enactment of a process model. Therefore, in this paper we present eSPEM, an extension of SPEM, that is based on the UML meta-model and focused on fine-grained behavior and life-cycle modeling and thereby supports automated enactment of development processes. © 2010 Springer-Verlag.
UnivIS-Import:2015-04-16:Pub.2010.tech.IMMD.IMMD2.espema

Modellierung und effiziente Ausführung von Softwareentwicklungsprozessen - Ellner, Ralf (Friedrich-Alexander-Universität Erlangen-Nürnberg, 2017)
Für die Bewältigung komplexer Aufgaben, wie die Entwicklung umfangreicher und qualitativ hochwertiger Software, ist eine methodische und kontrollierte Herangehensweise in der Regel der einzig erfolgversprechende Lösungsweg. Neben der wachsenden Komplexität der Softwareprodukte steigen in der Softwarebranche die Anforderungen an die Entwicklung hinsichtlich Qualität, Nachverfolgbarkeit, Entwicklungsgeschwindigkeit und Kosten zudem stetig an. Dies macht effektive Maßnahmen zur Projektsteuerung, für Qualitäts- und Risikomanagement, und zur Koordination und Synchronisation der Projektbeteiligten umso wichtiger. Um solche Maßnahmen in der Softwareentwicklung umzusetzen und gleichzeitig den Mitarbeitern im Projekt ein gemeinsames Verständnis für deren Aufgaben und den gewünschten Verlauf des Projekts zu vermitteln, hat sich der Einsatz von definierten Softwareentwicklungsprozessmodellen für die Projektdurchführung in der Software-Engineering-Praxis bewährt. Viele dieser Softwareentwicklungsprozessmodelle sind hauptsächlich in natürlicher Sprache dokumentiert, was ihren Einsatz oftmals erschwert, da auf die darin enthaltene Information nur umständlich durch manuelle Suche zugegriffen werden kann. Ein möglicher Lösungsweg, mit dem eine deutlich verbesserte Unterstützung der Prozessbeteiligten erreicht werden kann, ist die (teilweise) Formalisierung eines Softwareentwicklungsprozessmodells und dessen werkzeuggestützte Ausführung durch eine so genannte Prozessausführungsmaschine. Durch die Formalisierung wird die Information eines Softwareentwicklungsprozessmodells strukturiert und kann automatisch gefiltert, geprüft und aufbereitet werden. Durch die werkzeuggestützte Ausführung können die Prozessbeteiligten angeleitet und ihnen kontextsensitiv Informationen zu ihren momentanen Aufgaben bereitgestellt werden. Auch kann der gesamte Prozessablauf automatisch nachvollziehbar dokumentiert und auf die Einhaltung von Regeln geprüft werden. Für die Modellierung von Softwareentwicklungsprozessen wurden in den letzten Jahrzehnten bereits eine Reihe von Modellierungssprachen und auch Prozessausführungsmaschinen entwickelt. Diese Ansätze werden untersucht und hinsichtlich ihrer Eignung für die Modellierung und effiziente, werkzeugunterstützte Ausführung von Softwareentwicklungsprozessen bewertet. Dazu werden zunächst Anforderungen an eine Modellierungssprache und eine Prozessausführungsmaschine definiert. Da keiner der existierenden Ansätze eine durchgängige Lösung für die Modellierung und Ausführung von Softwareentwicklungsprozessen bietet, die allen gestellten Anforderungen gerecht werden kann, wird in dieser Arbeit die Modellierungssprache eSPEM definiert. eSPEM erweitert das SPEM (Software & Systems Process Engineering Metamodel) um Konzepte für die Verhaltensmodellierung, Modellvalidierung, Projektplanung und das organisations- und projektspezifische Zuschneiden von Prozessmodellen. Dabei wird auf bekannte und eingängige Notationen zurückgegriffen, um den Modellierungsformalismus möglichst einfach zu halten. Ergänzt wird eSPEM durch eine erweiterbare Prozessausführungsmaschine. Diese ist in der Lage ein Prozessmodell zu interpretieren und mit den Prozessbeteiligten in einem realistischen, verteilten Projektumfeld zu interagieren, sie anzuleiten, und zu unterstützen. Dabei kann sie auch Abweichungen vom modellierten Prozessablauf tolerieren, und kann somit die in der Praxis vorkommenden Ausnahmen in einem Entwicklungsprozess abbilden. Durch die Prozessausführungsmaschine kann der Prozess nach definierten Regeln automatisch geprüft werden. Regelverletzungen werden den Prozessbeteiligten umgehend gemeldet und können auch proaktiv verhindert werden. Die in dieser Arbeit vorgestellten Konzepte werden prototypisch in einer integrierten Prozessmodellierungs- und -ausführungsumgebung umgesetzt, die für die Evaluierung der Arbeit, anhand von drei ausgesuchten, praxisrelevanten Softwareentwicklungsprozessmodellen, verwendet wird. Alle drei Softwareentwicklungsprozessmodelle werden mit eSPEM in der Prozessmodellierungsumgebung modelliert, wobei insbesondere die in eSPEM neu eingeführten Modellierungskonzepte Anwendung finden. Für die Evaluation der Prozessausführungsmaschine werden die drei Prozessmodelle in simulierten Entwicklungsprojekten unterschiedlicher Größe eingesetzt. Durch die Simulation wird gezeigt, dass die Prozessausführungsmaschine in der Lage ist, die erstellten Prozessmodelle zu interpretieren und eine realistische Menge von (simulierten) Benutzern durch einen Prozess zu führen, ohne dass sie spezielles Wissen über das Prozessmodell benötigen. Die gemessenen Ausführungszeiten zeigen, dass die Prozessausführungsmaschine auch bei sehr hoher Last in der Lage ist, adäquat auf Benutzereingaben zu reagieren. Das umgesetzte Konzept der verteilten Ausführung und Benutzerinteraktion skaliert auch für umfangreiche Prozessmodelle in großen, langlaufenden Projekten. Die Modellierung von real eingesetzten Entwicklungsprozessen und ihre Ausführung in simulierten Projekten zeigen, dass eSPEM und die zugehörige Prozessausführungsmaschine alle in der industriellen Praxis beobachteten und in dieser Arbeit präsentierten Anforderungen erfüllt.

Präzisierung und werkzeuggestützte Umsetzung des Software Process Engineering Metamodel 2.0 - Ellner, Ralf (Friedrich-Alexander-Universität Erlangen-Nürnberg, 2008)
UnivIS-Import:2016-07-26:Pub.2008.tech.IMMD.IMMD2.przisi