148 research outputs found

    Evolution und Komposition von Softwaresystemen: Software-Produktlinien als Beitrag zu Flexibilität und Langlebigkeit

    Get PDF
    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)

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Tagungsband Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme 2005

    Get PDF

    Entwurf eines Frameworks für CTI-Lösungen im Call Center

    Get PDF
    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
    corecore