50,559 research outputs found

    Quality-driven Reuse of Model-based Software Architecture Elements

    Get PDF
    In modernen Software-Entwicklungsprozessen werden, insbesondere zur Implementierung von StandardfunktionalitĂ€ten, immer hĂ€ufiger bestehende Komponenten oder Bibliotheken wiederverwendet. So mĂŒssen FunktionalitĂ€ten, die breite Anwendung in unterschiedlichen Systemen finden können, nicht fĂŒr jede Verwendung von Grund auf neuentwickelt werden. Wiederverwendung von FunktionalitĂ€ten durch Software-Komponenten oder gar von komplexen Teilsystemen, den Subsystemen, die höherwertige FunktionalitĂ€ten, die Features, anbieten, fĂŒhrt so zu kosteneffizienterer Entwicklung und qualitativ hochwertigerer Software. Durch eine Vielzahl Ă€hnlicher Lösungen fĂŒr die gleiche StandardfunktionalitĂ€t stehen Software-Architekten allerdings hĂ€ufig vor der Frage, welche Lösungen sie auswĂ€hlen sollten und wie deren Konfiguration in der Zielarchitektur optimal zu den Anforderungen an das Software-System passen. Subsysteme bieten hĂ€ufig eine Vielzahl an Features an, die zu unklaren Effekten auf die QualitĂ€tsattribute der Software-Architektur, wie z.B. auf die Performance, fĂŒhrt. Insbesondere zur Entwurfszeit oder wenn Software-Systeme um FunktionalitĂ€t erweitert werden soll ist unklar, ob durch die Verwendung eines bestimmten Features eines bestimmten Subsystems die QualitĂ€tsanforderungen an das Gesamtsystem haltbar sind. Neue QualitĂ€tsanforderungen werden zumeist durch Funktionen operationalisiert. Operationalisierte QualitĂ€tsanforderungen haben meist zum Ziel eine oder mehrere QualitĂ€tsattribute, wie z.B. Sicherheit oder Bedienbarkeit, zu verbessern. Gerade diese QualitĂ€tsattribute stehen jedoch hĂ€ufig gegenseitig oder mit anderen QualitĂ€tsattributen, wie z.B. Performance, in Konflikt oder beeinflussen sich gegenseitig. Gleichzeitig sind diese allerdings schwierig quantifizierbar, weil Funktionen zur quantitativen Evaluation dieser QualitĂ€tsattribute hĂ€ufig nicht ausreichend wissenschaftlich erforscht sind, wie beispielsweise fĂŒr das QualitĂ€tsattribut Sicherheit. Die Evaluation selbst kann auch einen zu großen zeitlichen und finanziellen Aufwand erfordern, wie dies beispielsweise bei Nutzerstudien zur Evaluation der Bedienbarkeit der Fall wĂ€re. In der Praxis werden entsprechend schwierig quantifizierbare QualitĂ€tsanforderungen nicht oder nur unzureichend systematisch in der Planung des Software-Systems berĂŒcksichtigt. Zur Analyse von Entwurfsalternativen können Software-Modelle genutzt werden, um möglichst frĂŒh im Software-Entwicklungs\-prozess die zu erwartende QualitĂ€t zu analysieren und zu evaluieren. Möchten Software-Architekten die Auswirkungen auf die QualitĂ€tsattribute ihrer Software-Architektur durch die Verwendung von Features realisiert durch komplexe Subsysteme evaluieren, mĂŒssen, durch eine Vielzahl an Kombinationen und Konfigurationen, schnell sehr viele Architekturkandidaten evaluiert werden. In der Praxis können, durch natĂŒrlich gegebene Freiheitsgrade komponentenbasierter Software-Architekturen, schnell mehrere tausend Architekturkandidaten entstehen. Eine einzelne und manuelle Evaluation einer solch großen Anzahl an Kandidaten ist durch die damit entstehenden Zeit- und somit KostenaufwĂ€nde meist nicht möglich. Neben einer Vielzahl an zu evaluierenden Architekturkandidaten können, aufgrund fehlender quantitativer Evaluationsfunktionen, viele QualitĂ€tsattribute nicht in bestehenden automatischen EntscheidungsunterstĂŒtzungsverfahren berĂŒcksichtigt werden. Dadurch zeichnet sich entsprechend ein unvollstĂ€ndiges Bild bei der Suche nach den optimalen Architekturkandidaten. Der in dieser Dissertation vorgestellte Ansatz CompARE ermöglicht Software-Architekten, Effekte auf die QualitĂ€tsattribute einer Software-Architektur, die durch die Verwendung von Features entstehen, automatisch zu evaluieren. Auch die Optimierung von QualitĂ€tsanforderungen ohne quantitative Evaluationsfunktion wird unterstĂŒtzt, indem bestehendes informell vorliegendes Wissen ĂŒber Architekturentscheidungen modelliert und dadurch zusammen mit bestehenden quantitativen Evaluationsfunktionen optimiert wird. Das Ergebnis soll Software-Architekten dabei unterstĂŒtzen, zu entscheiden, i) inwiefern die Verwendung von bestimmten Features auf QualitĂ€tsattribute Auswirkungen hat und welche Wechselwirkungen untereinander zu erwarten sind, ii) welches der möglichen Subsysteme und seiner Konfiguration die beste Wahl darstellt und iii) ob die gegebenen technischen Umsetzungen mit den Projektanforderungen vereinbart werden können. Daraus ergeben sich folgende BeitrĂ€ge der Arbeit: ZunĂ€chst wird eine Vorstudie vorgestellt, die den Aufwand der Erstellung von quantitativen Evaluationsfunktionen, am Beispiel des QualitĂ€tsattributs Sicherheit in komponentenbasierten Software-Architekturen, zeigt. Die Modellierung von wiederverwendbaren Subsystemen zur Verwendung in automatischen EntscheidungsunterstĂŒtzungsprozessen stellt den ersten Beitrag des CompARE Ansatzes dar. Es wird ein Meta-Modell entworfen, das die Modellierung von Subsystemen zur einfachen Wiederverwendung unterstĂŒtzt und dadurch zur automatischen Modellintegration verwendbar macht. Die automatische Modellintegration von Teilmodellen ist der nĂ€chste Beitrag der Arbeit. Hierbei werden Teilmodelle automatisch integriert, so dass diese automatisch evaluiert und optimiert werden können. Durch diese Methode können Software-Architekten Features mit vergleichsweise geringem Modellierungsaufwand automatisiert in die Zielarchitektur einbauen. Schließlich zeigt die Arbeit wie informelles Wissen modelliert werden kann, um es gemeinsam mit quantitativen Funktionen zur Bestimmung von QualitĂ€tseigenschaften zu analysieren und zu evaluieren. Die Evaluation wird anhand zweier Klassen von Subsystemen mit jeweils zwei unterschiedlich modellierten Lösungen durchgefĂŒhrt. Jede Lösung bietet verschiedene Features. Dabei hĂ€lt jede Lösung seine eigene Software-Architektur und beeinflusst dadurch individuell die QualitĂ€tsattribute der Zielarchitektur, in der das Subsystem zum Einsatz gebracht werden wird. Die Wiederverwendung der Subsysteme und die aus dem vorgestellten Ansatz resultierende Architekturoptimierung wird anhand dreier Zielsysteme durchgefĂŒhrt. Bei diesen Zielsystemen handelt es sich um zwei Realweltsysteme, die in der Industrie zur Anwendung kommen und um eine Community Fallstudie, die in der Community der komponentenbasierten Software-Architekturmodellierung als reprĂ€sentativ gilt. Anhand dieser Systeme werden insgesamt 11 Szenarien durchgefĂŒhrt, die die Analyse relevanter Fragestellungen zu den Themen Software-Architekturentwurf, Entscheidungen mit Bezug auf Software-QualitĂ€tsattribute und Software-Anforderungspriorisierung durch einen strukturierten Prozess analysierbar machen. Dabei wird die Anwendbarkeit und der Nutzen von CompARE gezeigt und die aus den Ergebnissen ableitbaren Schlussfolgerungen diskutiert

    Quality-driven Reuse of Model-based Software Architecture Elements

    Get PDF
    In software development, components are increasingly being reused, especially for the implementation of standard functionalities making software development more cost-efficient. At design time, however, it is often unclear which solution providing these functionalities fits the requirements of the software system. This work proposes a method and tool enabling software architects to automatically evaluate the effects on the quality attributes of software architectures when reusing features

    Quality-aware model-driven service engineering

    Get PDF
    Service engineering and service-oriented architecture as an integration and platform technology is a recent approach to software systems integration. Quality aspects ranging from interoperability to maintainability to performance are of central importance for the integration of heterogeneous, distributed service-based systems. Architecture models can substantially influence quality attributes of the implemented software systems. Besides the benefits of explicit architectures on maintainability and reuse, architectural constraints such as styles, reference architectures and architectural patterns can influence observable software properties such as performance. Empirical performance evaluation is a process of measuring and evaluating the performance of implemented software. We present an approach for addressing the quality of services and service-based systems at the model-level in the context of model-driven service engineering. The focus on architecture-level models is a consequence of the black-box character of services

    Ontology-based patterns for the integration of business processes and enterprise application architectures

    Get PDF
    Increasingly, enterprises are using Service-Oriented Architecture (SOA) as an approach to Enterprise Application Integration (EAI). SOA has the potential to bridge the gap between business and technology and to improve the reuse of existing applications and the interoperability with new ones. In addition to service architecture descriptions, architecture abstractions like patterns and styles capture design knowledge and allow the reuse of successfully applied designs, thus improving the quality of software. Knowledge gained from integration projects can be captured to build a repository of semantically enriched, experience-based solutions. Business patterns identify the interaction and structure between users, business processes, and data. Specific integration and composition patterns at a more technical level address enterprise application integration and capture reliable architecture solutions. We use an ontology-based approach to capture architecture and process patterns. Ontology techniques for pattern definition, extension and composition are developed and their applicability in business process-driven application integration is demonstrated

    Towards guidelines for building a business case and gathering evidence of software reference architectures in industry

    Get PDF
    Background: Software reference architectures are becoming widely adopted by organizations that need to support the design and maintenance of software applications of a shared domain. For organizations that plan to adopt this architecture-centric approach, it becomes fundamental to know the return on investment and to understand how software reference architectures are designed, maintained, and used. Unfortunately, there is little evidence-based support to help organizations with these challenges. Methods: We have conducted action research in an industry-academia collaboration between the GESSI research group and everis, a multinational IT consulting firm based in Spain. Results: The results from such collaboration are being packaged in order to create guidelines that could be used in similar contexts as the one of everis. The main result of this paper is the construction of empirically-grounded guidelines that support organizations to decide on the adoption of software reference architectures and to gather evidence to improve RA-related practices. Conclusions: The created guidelines could be used by other organizations outside of our industry-academia collaboration. With this goal in mind, we describe the guidelines in detail for their use.Peer ReviewedPostprint (published version

    Content-driven design and architecture of E-learning applications

    Get PDF
    E-learning applications combine content with learning technology systems to support the creation of content and its delivery to the learner. In the future, we can expect the distinction between learning content and its supporting infrastructure to become blurred. Content objects will interact with infrastructure services as independent objects. Our solution to the development of e-learning applications – content-driven design and architecture – is based on content-centric ontological modelling and development of architectures. Knowledge and modelling will play an important role in the development of content and architectures. Our approach integrates content with interaction (in technical and educational terms) and services (the principle organization for a system architecture), based on techniques from different fields, including software engineering, learning design, and knowledge engineering

    PuLSE-I: Deriving instances from a product line infrastructure

    Get PDF
    Reusing assets during application engineering promises to improve the efficiency of systems development. However, in order to benefit from reusable assets, application engineering processes must incorporate when and how to use the reusable assets during single system development. However, when and how to use a reusable asset depends on what types of reusable assets have been created.Product line engineering approaches produce a reusable infrastructure for a set of products. In this paper, we present the application engineering process associated with the PuLSE product line software engineering method - PuLSE-I. PuLSE-I details how single systems can be built efficiently from the reusable product line infrastructure built during the other PuLSE activities

    Traceability for Model Driven, Software Product Line Engineering

    Get PDF
    Traceability is an important challenge for software organizations. This is true for traditional software development and even more so in new approaches that introduce more variety of artefacts such as Model Driven development or Software Product Lines. In this paper we look at some aspect of the interaction of Traceability, Model Driven development and Software Product Line

    Semantic model-driven development of service-centric software architectures

    Get PDF
    Service-oriented architecture (SOA) is a recent architectural paradigm that has received much attention. The prevalent focus on platforms such as Web services, however, needs to be complemented by appropriate software engineering methods. We propose the model-driven development of service-centric software systems. We present in particular an investigation into the role of enriched semantic modelling for a modeldriven development framework for service-centric software systems. Ontologies as the foundations of semantic modelling and its enhancement through architectural pattern modelling are at the core of the proposed approach. We introduce foundations and discuss the benefits and also the challenges in this context
    • 

    corecore