148 research outputs found
Evolution und Komposition von Softwaresystemen: Software-Produktlinien als Beitrag zu Flexibilität und Langlebigkeit
Software systems are today bigger, more complex and of higher importance for
products and services than a decade before. At the same time changes are
required many more frequently and of a larger size. Furthermore, they have to
be implemented faster. Additionally, the software must achieve a higher life
span, particularly because of the cost of its development. In the past,
Object-Oriented Programming and Reuse techniques did not provide the expected
success. The introduction of software product lines respectively system
families makes possible it to reach a degree of prefabrication similar to the
one of serial production. At the same time they facilitate the delivery of
product variants with a short time to market.
In this work methods of the methods of domain analysis are integrated with
Reuse approaches and techniques of Generative Programming, and a methodology
for product line development is presented. Feature models are used as means
expressing variability and product configurations, so that the prefabrication
be planned and the production of customer-specific products can be
controlled. By enforcing the formalization in terms of syntax and semantics,
feature models are made accessible to tools and automation. Object-oriented
design models and architecture are separated into fine-granular components in
such a way that new products can easily be developed as combinations of those
components. The implementation of such products is automated by the
composition of source code components. The composition of object models
separated similarly enables a uninterrupted automation for the product
development, which is controlled by a customer by means of a feature
selection. To facilitate such a composition, the Hyperspace approach is
applied to UML to Hyper/UML, which makes possible a feature-driven separation
and composition of object models. In this way slim products can be developed,
containing only the actually needed functionality. For the evolution of
product lines and for the integration of existing solutions and components
into the evolution, Reverse Engineering and Refactoring techniques are
integrated. Requirements, models and implementation are connected by
Traceability links to perform changes consistently. As a consequence, the
loss of architectural quality - so-called Architectural Decay - can be
avoided during the iterative development process. Measures for the
improvement of the project and quality management are regarded briefly, as
far as they are of importance for the effectiveness of the developed methods.
The applicability and suitability of the results of the work were examined in
several industrial projects.Softwaresysteme sind heute umfangreicher, komplexer und von entscheidenderer Bedeutung für Produkte und Dienstleistungen als eine Dekade zuvor. Gleichzeitig sind Änderungen viel häufiger und in größerem Umfang erforderlich. Sie müssen auch schneller realisierbar sein. Zudem muss die Software eine höhere Lebensdauer erreichen, vor allem wegen des Aufwandes zu ihrer Entwicklung. Objektorientierte Programmierung und Wiederverwendungstechniken haben dabei nicht den erwarteten Erfolg gebracht. Die Einführung von Software-Produktlinien beziehungsweise Systemfamilien ermöglichen es, einen der Serienfertigung ähnlichen Vorfertigungsgrad zu erreichen und erlauben es gleichzeitig, kurzfristig Produktvarianten zu erstellen.
In dieser Arbeit werden Methoden der Domänenanalyse mit Wiederverwendungsansätzen und Generativen Programmiertechniken verknüpft und eine Methodik zur Produktlinien-Entwicklung vorgestellt. Featuremodelle werden als Ausdrucksmittel für Variabilität und Produktkonfigurationen eingesetzt, damit die Vorfertigung geplant und die Erstellung von kundenspezifischen Produkten gesteuert werden kann. Durch Präzisierung ihrer Syntax und Erweiterung ihrer Semantik werden Featuremodelle einer Nutzung in Werkzeugen zugänglich gemacht. Objektorientierte Entwurfsmodelle und Architektur werden so in feingranulare Komponenten zerlegt, dass Varianten als neue Produkte mit geringem Aufwand erstellbar sind. Die Erstellung der Implementierung solcher Produkte wird durch die Komposition von Quelltext-Komponenten automatisiert. Die Komposition von ebenfalls zerlegten Objektmodellen ermöglicht eine durchgehende Automatisierung der Produkterstellung, die durch einen Kunden mittels der Feature-Auswahl gesteuert wird. Dafür wird mit Hyper/UML eine Umsetzung des Hyperspace-Ansatzes auf die Modellierungssprache UML entwickelt, die eine Feature-gesteuerte Zerlegung und Komposition von Objektmodellen ermöglicht. Damit lassen sich schlanke Produkte entwickeln, die nur die tatsächlich benötigte Funktionalität enthalten. Zur Evolution von Produktlinien und zur Einbindung existierender Lösungen und Komponenten in die Evolution werden Reverse-Engineering- und Refactoring-Techniken integriert. Anforderungen, Modelle und Implementierung werden durch Traceability-Links verbunden, damit Änderungen konsistent durchgeführt werden können. Diese Mittel tragen dazu bei, dass während einer iterativen Entwicklung der Verlust an Architektur-Qualität, das sogenannte Architectural Decay, vermieden werden kann. Maßnahmen zur Verbesserung des Projekt- und Qualitätsmanagements werden kurz betrachtet, soweit sie wichtige Randbedingungen für die Wirksamkeit der Methoden schaffen müssen. Die Anwendbarkeit und Eignung der Ergebnisse der Arbeiten wurde in mehreren industriellen Projekten überprüft.Ilmenau, Techn. Univ., Habil.-Schr., 200
Pattern-Oriented Transformations between Analysis and Design Models (POTAD)
One answer to many current challenges in the electronic domain of
automotive development, is a continuous model-based engineering process
that integrates models of system and software development. A system model
describes by the use of the logical system architecture the func-tions of a
vehicle and through the technical system architecture the realising
electronics, such as control units, sensors/actuators and data busses.
During software development, a software design model for selected functions
of the logical system architecture must be constructed with consideration
of the technical architecture and further requirements. Current model-based
development approaches claim to automate the transition between different
development phases by the concept of model transformations. This concept
lends itself to generate a skele-ton of the software design model from the
system architecture model, thereby automating a part of the software
engineering activities. The analysis of this work shows that the collected
domain specific requirements, which must be made on a model transformation
mechanism for such a scenario, are not fulfilled by current approaches. The
approach taken in this work, the Pattern-Oriented Transformations between
Analysis and Designmodels (POTAD) uses the system architecture as an
analysis model within software development and systemizes the connection
with the design model on the basis of analysis and design patterns. By
means of this systematisation, a POTAD transformation rule instantiates for
an analysis pattern different design patterns under consideration of
non-functional requirements and the technical system architecture. At the
same time, links between an analysis and design pattern are created, which
are used to trace design decision later. The feasibility of the solution is
shown by a prototype, which follows the POTAD development process and
executes the transformation rules formulated in the POTAD transformation
lan-guage.POTAD was verified by several student works based on a case
study, which covers typical characteristics of the examined domain. The
results of these works showed the suitability and improved the methodology
as well as the transformation language and pointed out the limits of the
approach taken.Eine Antwort auf viele aktuelle Anforderungen im
Elektrik/Elektronik-Bereich der Fahrzeugent-wicklung ist ein durchgängig
modellbasierter Entwicklungsprozess, der Modelle der System- und
Softwareentwicklung integriert. Ein Systemmodell beschreibt mit der
logischen System-architektur die Funktionen eines Fahrzeugs und mit der
technischen Systemarchitektur die realisierende Elektrik/Elektronik, wie z.
B. Steuergeräte, Sensoren/Aktoren und Bussysteme. Im Rahmen der
Softwareentwicklung muss für einzelne Funktionen aus der logischen
System-architektur unter Berücksichtigung der technischen Systemarchitektur
und weiterer An-forderungen ein Softwaredesignmodell erstellt werden.
Aktuelle modellbasierte Entwicklungs-ansätze versprechen mit Hilfe des
Konzepts der Modelltransformation den Übergang zwischen Modellen
unterschiedlicher Entwicklungsphasen automatisieren zu können. Dieses
Konzept bietet sich dazu an, aus einem Systemarchitekturmodell ein
Grundgerüst eines Softwaredesign-modells zu erzeugen und damit einen Teil
der Softwareentwicklungsaktivitäten zu auto-matisieren.Die Analyse dieser
Arbeit zeigt, dass die erarbeiteten domänenspezifischen Anforderungen, die
für solch ein Szenario an einen Modelltransformationsmechanismus gestellt
werden müssen, durch aktuelle Ansätze nicht vollständig erfüllt werden. Der
eigene Ansatz Pattern-Oriented Transformations between Analysis and
Designmodels (POTAD) verwendet die logische Systemarchitektur im Rahmen der
Softwareentwicklung als Analysemodell und systematisiert dessen
Zusammenhang mit dem Designmodell auf der Basis von Analyse- und
Designmustern. Für ein im Analysemodell gefundenes Analysemuster
instanziiert eine POTAD-Transformationsregel mit Hilfe dieser Systematik in
Abhängigkeit nichtfunktionaler An-forderungen und der technischen
Systemarchitektur unterschiedliche Designmuster im Design-modell.
Gleichzeitig werden Verknüpfungen zwischen den Analyse- und Designmustern
angelegt, die zur späteren Verfolgung von Designentscheidungen genutzt
werden. Anhand eines dem POTAD-Entwicklungsprozess folgenden Prototyps, der
die in der POTAD-Transformationssprache formulierten Regeln ausführen kann
und die Verfolgbarkeit werkzeug-seitig unterstützt, wird die
Realisierbarkeit des Lösungsansatzes gezeigt. POTAD wurde durch
studentische Arbeiten anhand einer Fallstudie überprüft, die typische
Eigenschaften der betrachteten Domäne abdeckt. Die Ergebnisse dieser
Arbeiten haben die Tauglichkeit von POTAD gezeigt, die Methodik und die
Transformationssprache verbessert und Grenzen aufgezeigt
Family-oriented requirements engineering
Abstract
Modern software products shall be developed within a short time and at the same
time they should be of a high quality. Software engineering is able to fulfill
these requirements by prefabricating components. Within a domain, planned and
comprehensive reuse of components is supported by the concept of system family
development. A system family is based on a reference architecture made of
assets, which are common to all family members and assets, which are variable.
Commonalities and variabilities have to be considered in all phases of the
system family development and they have to be elaborated correctly. Mistakes
made in the requirements engineering phase, as the beginning of a development,
will cause the most damage to the overall development.
The analysis of the requirements engineering phase of system family development
in this paper shows, that most of the current scientific solutions in this field
are based on feature modeling, although it is inconsistent and cannot be
automatically processed. The proposed solution of this paper – Family-Oriented
Requirements Engineering (FORE) – extends feature modeling and integrates it
into a new data model, capable of holding all the information acquired within
the requirements engineering phase. Dependencies within feature models and
between features and further model elements can be modeled with the new FORE
Feature Constraint Language (FCL). FCL offers 30 predefined dependencies for
verifiable system family models. Extended feature models of FORE allow the
automated verification of a subset of features. Thus, only valid family members
can be derived of the system family. The development of a system family model as
well as the derivation of family members are supported by the FORE development
process. The FORE-process integrates current processes and the extended feature
modeling of FORE into a requirements engineering process for system families.
The proposed solution was prototypically realized by implementing the FORE-Data
Model as XML-Schema. The usage of the prototype is aimed at the FORE-Development
Process. FORE was tested within a University project as well as in several
student works with industry partners. The results of this paper have shown the
applicability of FORE, improved its process and data model and revealed its
limits.Heutige Softwareprodukte sollen in kurzer Zeit bei gleichzeitig hoher Qualität entwickelt werden, wobei die Software-Technik dieser Forderung durch die Vorfertigung einzelner Komponenten gerecht wird. Die geplante und umfassende Wiederverwendung von Komponenten innerhalb einer Anwendungsdomäne wird durch das Konzept der Systemfamilienentwicklung unterstützt. Eine Systemfamilie basiert auf einer Referenzarchitektur, die aus Anteilen besteht, die allen Familienmitgliedern gemein sind und Anteilen, die optional sind. In allen Phasen der Systemfamilienentwicklung müssen gemeinsame und optionale Anteile berücksichtigt und korrekt verarbeitet werden, wobei Fehler in der Requirements-Engineering-Phase, dem Beginn der Entwicklung, den größten wirtschaftlichen Schaden nach sich ziehen.
In dieser Arbeit zeigt die Analyse der Requirements-Engineering-Phase der Systemfamilienentwicklung, dass die Systemfamilienmodelle der meisten, existierenden Ansätze auf der Merkmalmodellierung basieren, die jedoch inkonsistent und nicht automatisiert verarbeitbar ist. Der hier beschriebene Lösungsansatz ? Family-Oriented Requirements Engineering (FORE) ? erweitert Merkmalmodelle und integriert sie in ein neues Datenmodell, das alle im Verlauf der Requirements-Engineering-Phase erarbeiteten Informationen enthält. Zur Modellierung aller Abhängigkeiten innerhalb von Merkmalmodellen und von Merkmalen zu weiteren Modellelementen bietet FORE die neue Feature Constraint Language (FCL) mit 30 vordefinierten Beziehungen an, wodurch Systemfamilienmodelle überprüfbar sind. Durch die kundenspezifische Auswahl von Merkmalen wird ein Familienmitglied basierend auf der Systemfamilie abgeleitet. Die erweiterten Merkmalmodelle von FORE ermöglichen die automatisierte Überprüfung einer Merkmalauswahl, sodass nur gültige Familienmitglieder abgeleitet werden können. Sowohl die Entwicklung eines Systemfamilienmodells als auch die Ableitung von Familienmitgliedern werden durch den FORE-Entwicklungsprozess unterstützt, der existierende Ansätze und die erweiterte Merkmalmodellierung in einem Requirements-Engineering-Prozess für Systemfamilien integriert. Anhand eines Prototyps wird die Realisierbarkeit des Lösungsansatzes gezeigt, indem das FORE-Datenmodell in eine XML-Struktur umgesetzt und die Benutzung des Prototyps dem FORE-Entwicklungsprozess folgt.
FORE wurde im Rahmen eines universitären Projektes, wie auch durch diverse studentische Arbeiten mit Industriepartnern überprüft. Die Ergebnisse dieser Arbeiten haben die Praxistauglichkeit von FORE gezeigt, den Prozess und das Datenmodell verbessert und dessen Grenzen aufgezeigt
Entwicklung und Gegenüberstellung von Methoden zur automatisierten Verifikation von ausführbaren Systemspezifikationen
Für die Entwicklung komplexer eingebetteter Systeme werden Techniken
eingesetzt, die eine frühe Validierung der zu entwickelnden Systeme in
Bezug auf funktionale Aspekte ermöglichen. Diese Techniken greifen in der
Regel auf ausführbare Spezifikationsmodelle zurück. Eingebettete Systeme
stellen meist auch Echtzeitsysteme dar. Dabei sind funktionale
Anforderungen in der Regel zeitvariant, also zustandsabhängig und besitzen
zeitliche Randbedingungen, so dass zeitliche und funktionale Aspekte
gemeinsam betrachtet werden müssen. Für die Modellierung solcher
ausführbaren Spezifikationen ist der Discrete-Event Formalismus besonders
geeignet, da er eine vergleichsweise abstrakte parametrisierbare
Beschreibung, unabhängig von Implementierungsdetails, ermöglicht. Für den
systematischen Einsatz solcher Discrete-Event Modelle als ausführbare
Spezifikationen, werden Methoden und Techniken zur Verifikation benötigt,
um eine möglichst frühe Fehlererkennung bei der Systementwicklung zu
ermöglichen.Gegenstand der Arbeit ist die Entwicklung und Gegenüberstellung
von Methoden, die eine automatisierte Verifikation zeitbeschränkter
funktionaler Eigenschaften in ausführbaren Spezifikation ermöglichen.
Solche Methoden stehen für komplexe Multi-Domänen Modelle, wie sie in der
Arbeit betrachtet werden, noch nicht zur Verfügung. Bei den Betrachtungen
werden insbesondere die Spezifika der zugrunde liegenden Modelle und
Eigenschaften sowie die möglichst automatisierte Anwendbarkeit der
Verifikationsmethoden berücksichtigt.Ausgehend von grundlegenden Erwägungen
werden zwei Anwendungsszenarien entwickelt, wobei im ersten Fall die
vollständige formale Verifikation im Vordergrund steht und im zweiten Fall
eine dynamische Überprüfung der Eigenschaften während der szenariobasierten
Simulation favorisiert wird. Für die formale Verifikation wird ein
Transformation-basierter Ansatz entwickelt, der eine Transformation des
Verifikationsproblems in eine mathematische Beschreibung realisiert. Für
die dynamische Überprüfung der Eigenschaften wird ein Assertion-basierter
Ansatz benutzt, bei dem die geforderten Eigenschaften als temporallogische
Formeln notiert werden. Es werden zur Prüfung der Eigenschaften
unterschiedliche Techniken zur algorithmischen Auswertung bzw. zur
symbolischen Cosimulation entwickelt.Beide Ansätze sind prototypisch für
die Entwicklungsumgebung MLDesigner realisiert worden. Ausgehend von den
Ergebnissen der Validierung werden Abschätzungen für das weitere Potential
der Ansätze abgeleitet. Abschließend werden die Ansätze vergleichend
gegenübergestellt und bewertet
Ein generisches Objektmodell zum IT-unterstützten Lebenszyklusmanagement von Windkraftanlagen im Offshore-Bereich
Offshore sind enorme Windressourcen, die sowohl ein großes Raumangebot als auch hohe Windgeschwindigkeiten miteinander verbinden. Eine erfolgreiche Durchführung dieser Projekte stellt, neben den umfangreichen Anforderungen an alle Beteiligten in Bezug auf Planung, Installation und Betrieb, auch hohe Erwartungen an eine durchgängige, lebensphasenübergreifende IT-Unterstützung. Die vielfältigen, komplexen Zusammenhänge werden innerhalb der Arbeit durch die lebenszyklusbasierte, integrierende Betrachtung aller relevanten Sichten und die Umsetzung als ein geeignetes Objektmodell abgebildet
Modellierung und Prozessoptimierung der Organisationsstruktur in der orthopädischen Poliklinik
Gegenstand dieser Arbeit ist die Identifizierung und quantitative Analyse organisatorischer Schwachstellen in den klinischen Abläufen der orthopädischen Poliklinik der Klinik für Orthopädie und Rheumatologie in Marburg. Ziel dieser Analysen ist, mit Hilfe der gewonnen Daten fundierte Optimierungsvorschläge zu entwickeln, diese mit den Mitarbeitern zu diskutieren und schließlich umzusetzen. Da die langen Wartezeiten der Patienten das Hauptproblem in der orthopädischen Poliklinik darstellen, fokussiert diese Arbeit auf die Wartezeit als entscheidenden Parameter der Analysen und operationalisiert den Erfolg möglicher Reorganisationsmaßnahmen durch die Gesamtaufenthaltsdauer der Patienten.
Initial werden die Prozesse durch Beobachtung und Diskussion mit allen Beteiligten untersucht und ein Prozessmodell erstellt. Als Dokumentationswerkzeug dient die am Institut für medizinische Informatik entwickelte Marburger Prozess-Dokumentation (MaPDok).
Durch mehrwöchige Zeiterfassungen in der Poliklinik während der Sprechstunden werden anschließend die Arbeitsabläufe zeitlich genau charakterisiert. Neben direkten Zeiterfassungen werden auch vorhanden Informationsquellen, wie z.B. Eingangsbücher, analysiert, um eine detaillierte Datenbasis zu erhalten.
Unter Verwendung dieser Daten wird ein warteschlangentheoretischer Ansatz verfolgt. Die Entwicklung eines Warteschlangenmodells erweist sich für die Abbildung des Ist-Zustandes aufgrund spezifischer Eigenschaften der zeitlichen Verteilung der Patientenankünfte als nicht praktikabel, bringt aber im Rahmen der Entwicklung eines neuen Terminvergabemodus wichtige Erkenntnisse.
Mithilfe der gewonnenen Daten und der erworbenen Kenntnisse der entscheidenden Prozesse wird anschließend ein dynamisches Modell mit Hilfe der Dicrete-event-Simulation erstellt. Dieses Modell erweist sich für die Standardsprechstunde als valide, sodass verschiedene Sollszenarien mit unterschiedlichen personellen Ressourcen und Einbestellintervallen untersucht werden können.
In der Zusammenschau der Ergebnisse werden vier organisatorische Schwächen von hoher zeitlicher Bedeutung identifiziert. Es handelt sich um das Einbestellsystem, die Koordination mit der Abteilung für Strahlendiagnostik, die zahlreichen Nebenaufgaben der Ärzte sowie die mangelnde Verfügbarkeit von Patienteninformationen.
Für diese vier Probleme wurden Lösungskonzepte erarbeitet. Zahlreiche Optimierungsvorschläge konnten nach Zustimmung der Beteiligten erfolgreich implementiert werden. Interventionen, die sich aus diesem Projekt ergeben haben, sind dabei u.a. die Einführung eines neuen, EDV-gestützten, die Abteilung für Strahlendiagnostik einbeziehenden Einbestellsystems, die Einrichtung eines festen ärztlichen Poliklinkteams sowie die elektronische Arztbriefschreibung auch im ambulanten Bereich. Seit zwei Jahren bewähren sich diese Reorgansiationsmaßnahmen im klinischen Alltag
Entwurf eines Frameworks für CTI-Lösungen im Call Center
Besonders in Call Centern spielt die unter dem Begriff CTI (Computer Telephony Integration) zusammengefasste Integration von IT-Systemen und Telefonanlagen eine wichtige Rolle. Wenn auch diese Integration auf technischer Ebene in der Regel zufriedenstellend gelöst wird, zeigt ein Blick auf die Softwareentwicklung in diesem Bereich noch Nachholbedarf. Die vorliegende Arbeit greift dieses Problem auf und versucht, den Ansatz CTI auf die Ebene der Entwicklung verteilter Anwendungen abzubilden. Ziel dabei ist es, Erkenntnisse darüber zu erzielen, inwieweit ein allgemeines Basismodell als Framework für die Entwicklung von CTI-Anwendungen definiert werden kann und welchen Mehrwert es mit sich bringt. Parallel dazu wird die Frage untersucht, inwieweit bewährte Methoden und Technologien verteilter Systeme auf diesem Spezialgebiet ihre Anwendung finden können. Dazu wird ein allgemeines Anwendungsmodell für CTI-Lösungen und darauf aufbauend ein objektorientiertes, verteiltes Framework entworfen. Das Framework selbst wird als Prototyp implementiert und diversen Leistungsmessungen unterzogen.Computer Telephony Integration (CTI) plays an important role wherever computer and telecommunication systems have to interact. Applications in a call center are typical examples. This integration has been studied widely from a technical viewpoint only, but not at the level of application development. Since telecommunication systems are naturally distributed systems, CTI eventually leads to distributed applications. This thesis presents an example of a general, object-oriented framework for CTI applications and examines the use of proven technologies and methodologies for distributed applications. Based on a prototype implementation the practicability of the concept is being examined and verified
- …