1,977 research outputs found

    Architecture-based Evolution of Dependable Software-intensive Systems

    Get PDF
    This cumulative habilitation thesis, proposes concepts for (i) modelling and analysing dependability based on architectural models of software-intensive systems early in development, (ii) decomposition and composition of modelling languages and analysis techniques to enable more flexibility in evolution, and (iii) bridging the divergent levels of abstraction between data of the operation phase, architectural models and source code of the development phase

    Simplifying the Development, Use and Sustainability of HPC Software

    Full text link
    Developing software to undertake complex, compute-intensive scientific processes requires a challenging combination of both specialist domain knowledge and software development skills to convert this knowledge into efficient code. As computational platforms become increasingly heterogeneous and newer types of platform such as Infrastructure-as-a-Service (IaaS) cloud computing become more widely accepted for HPC computations, scientists require more support from computer scientists and resource providers to develop efficient code and make optimal use of the resources available to them. As part of the libhpc stage 1 and 2 projects we are developing a framework to provide a richer means of job specification and efficient execution of complex scientific software on heterogeneous infrastructure. The use of such frameworks has implications for the sustainability of scientific software. In this paper we set out our developing understanding of these challenges based on work carried out in the libhpc project.Comment: 4 page position paper, submission to WSSSPE13 worksho

    An Architecture-based Approach for Change Impact Analysis of Software-intensive Systems

    Get PDF
    A main property of software-intensive technical systems is sustainability. Sustainable systems need to change continuously. A change to a system element can result in further changes to other system elements. If these elements originate from different domains, the change can also propagate between several domains. This book presents an architecture-based approach to change propagation analysis of software-intensive technical systems that considers heterogeneous elements from different domain

    An Architecture-based Approach for Change Impact Analysis of Software-intensive Systems

    Get PDF
    Die vorliegende Dissertation präsentiert eine automatische domänenübergreifende Wartbarkeitsanalyse basierend auf der Architektur der Systeme, in deren Entwicklung und Evolution verschiedene Domänen zusammenarbeiten müssen. Eine der integralen Eigenschaften software-intensiver technischer Systeme ist ihre Langlebigkeit. Langlebige Systeme unterliegen kontinuierlichen Anpassungen aufgrund externer Änderungen, wie Änderungen ihrer Umgebung, oder auch interner Änderungen, wie zum Beispiel Fehlerbeseitigungen. Die Eigenschaft des Systems, die angibt, welcher Aufwand erforderlich ist, um ein System gemäß eines gegebenen Änderungsszenarios zu ändern, wird als Wartbarkeit bezeichnet. Somit ist Wartbarkeit ein wichtiges Qualitätsattribut langlebiger Systeme. Eine initiale Änderung an einem Element im System kann weitere Änderungen an anderen Systemelementen zur Folge haben. Stammen die betroffenen Systemelemente aus mehreren Domänen, wie zum Beispiel aus den Domänen der Informationssysteme, Geschäftsprozesse oder automatisierten Produktionssysteme, können sich die Änderungen auch über mehrere Domänen hinweg mit Abhängigkeiten in alle Richtungen ausbreiten. Ein automatisiertes Produktionssystem kann zum Beispiel aus mechanischen und elektrischen Bauteilen, sowie Steuerungssoftware bestehen. Eine Änderung an mechanischen und/oder elektrischen Bauteilen, wie zum Beispiel Sensoren, kann zu Folgeänderungen in der entsprechenden Steuerungssoftware führen. Zudem gibt es viele unterschiedliche Möglichkeiten, wie eine Änderungsanfrage in einem System umgesetzt werden kann. Verschiedene Möglichkeiten zur Umsetzung einer Änderungsanfrage können zu verschiedenen Änderungsaufwänden, sowie unterschiedlichen Systemen bezüglich ihrer Qualitätsattribute führen. Das Abschätzen der Änderungsfolgen hat deshalb besondere Relevanz im Entscheidungsprozess. Jedoch können manuelle Änderungsabschätzungen mit hohem Zeit- und Kostenaufwand verbunden sein. Somit kann eine automatische und domänenübergreifende Änderungsausbreitungsanalyse vor der Umsetzung einer Änderungsanfrage die Vorhersage der Änderungsaufwände und den Entscheidungsfindungsprozess zu deren Umsetzung unterstützen. Eine Möglichkeit zur automatischen Änderungsausbreitungsanalyse ist ein modell-, sowie szenariobasierter Ansatz zur Wartbarkeitsabschätzung, der Systeme aus mehreren Domänen berücksichtigt. Jedoch konzentrieren sich bestehende modellbasierte und szenariobasierte Ansätze meist auf die Änderungsausbreitung in einer Domäne und vernachlässigen Änderungsaufwände der Elemente aus Domänen, die in einer gegenseitigen Abhängigkeitsbeziehung zur betrachteten Domäne stehen. Dies führt zu einer unzureichenden Abschätzung der Änderungsauswirkungen. Die vorliegende Dissertation stellt eine generische Methode für eine automatische und domänenübergreifende Änderungsausbreitungsanalyse vor. Durch die Instanziierung der generischen Methode in verschiedenen Domänen kann ein vollständiger Ansatz zur automatischen Änderungsausbreitungsanalyse in der jeweiligen Domäne erstellt werden. Somit hat die generische Methode zum Ziel, den Entwicklungsprozess einer modellbasierten Änderungsausbreitungsanalyse durch die Wiederverwendung von bestehenden Konzepten zu verbessern. Die generische Methode basiert auf dem Karlsruhe Architectural Maintainability Prediction (KAMP) Ansatz zur Änderungsausbreitungsanalyse in Informationssystemen. Weitere Beiträge dieser Dissertation können wie folgt zusammengefasst werden: i) Software-Systeme sind integrale Bestandteile der Geschäftsprozesse moderner Unternehmen. Daher beeinflussen sich Software-Systeme und Geschäftsprozesse gegenseitig während der Evolution. Angesichts komplexer gegenseitiger Beeinflussung bietet der Ansatz als eine Instanz der generischen Methode und eine Erweiterung des KAMP-Ansatzes eine automatische Änderungsausbreitungsanalyse in den sich gegenseitig beeinflussenden Domänen der Informationssysteme und der Geschäftsprozesse. ii) Basierend auf Metamodellen zur Darstellung von mechanischen und elektrischen Teilen, als auch der Steuerungssoftware im Standard IEC 61131-3 für speicherprogrammierbare Steuerungen wurde ein weiterer Ansatz (ebenfalls als eine Instanziierung der generischen Methode) für die Domänen der automatisierten Produktionssysteme entwickelt. Mit dem Ansatz ist es möglich Änderungen über Systemelemente aus mehreren Sub-Domänen von automatisierten Produktionssystemen zu verfolgen, um eine umfassende Liste von Wartbarkeitsaufwänden zu erstellen. iii) Die Änderungsauslöser können sich entweder auf Architekturmodellebene oder auf Anforderungsebene befinden. Basierend auf Modellen zur Erfassung von Anforderungen und Entwurfsentscheidungen in der Domäne der Informationssysteme, Geschäftsprozesse, sowie automatisierten Produktionssysteme wurden die bestehenden Instanzen der generischen Methode zur Berücksichtigung von Anforderungsänderungen erweitert. Somit ergänzt dieser Beitrag die bisherigen Beiträge bezüglich der domänen-spezifischen Änderungsausbreitungsanalysen. iv) Die Änderungsausbreitung in den Instanzen der Methode wird durch Änderungsausbreitungsregeln betrachtet. Hierzu wurde eine domänenspezifische Sprache zum Beschreiben der häufig benutzten Änderungsausbreitungsregeln zur besseren Lesbarkeit der Regeln sowie zur Vermeidung von technischem Code vorgestellt. v) Weiter wurde ein mehrdimensionales Kategorisierungsschema für die Änderungsauslöser in Geschäftsprozessen basierend auf den Ergebnissen einer umfassenden Literaturrecherche vorgestellt. Die Beiträge dieser Dissertation zur automatischen Änderungsausbreitungsanalyse wurden anhand von Fallstudien in der jeweiligen Domäne evaluiert. Für jede Fallstudie wurde die Genauigkeit der Ergebnisse des jeweiligen Ansatzes im Vergleich zu manuell erstellten Ergebnissen angegeben. Zudem wurde die Aufwandsersparnis durch eine automatische Änderungsausbreitungsanalyse anhand des Vergleichs zweier Metriken gezeigt: i) Die erste Metrik repräsentiert die Rate der Anzahl der tatsächlich zu ändernden Modellelemente zur Anzahl der gesamten Modellelemente. ii) Die zweite Metrik repräsentiert die Rate der Anzahl der vom Ansatz vorgeschlagenen Modellelemente zur Anzahl der gesamten Modellelemente. Für die Validierung des Ansatzes zur automatischen Änderungsausbreitungsanalyse in den Domänen der Informationssysteme und der Geschäftsprozesse wurde basierend auf den Ergebnissen der systematischen Literaturrecherche zur Ermittlung der Änderungsauslöser in Geschäftsprozessen repräsentative Änderungsauslöserklassen identifiziert. Diese repräsentativen Änderungsauslöserklassen wurden jeweils auf die Community-Fallstudien "Common Component Modeling Example (CoCoME)" und "modular Rice University Bidding System (mRUBiS)" angewendet. Für die externe Validität der Methode wurde die Domäne der automatisierten Produktionssysteme betrachtet. Hierzu wurde die Instanz der Methode zur automatischen Änderungsausbreitungsanalyse in der Domäne der automatisierten Produktionssysteme auf die Community-Fallstudie "extended Pick and Place Unit (xPPU)" angewendet. Die betrachtete Anlage beinhaltet die elektrischen und mechanischen Bauteile sowie die Steuerungssoftware im Standard IEC 61131-3 für speicherprogrammierbare Steuerungen

    Quality attribute trade-offs in the embedded systems industry: An exploratory case study

    Get PDF
    The embedded systems domain has grown exponentially over the past years. The industry is forced by the market to rapidly improve and release new products to beat the competition. Frenetic development rhythms thus shape this domain and give rise to several new challenges for software design and development. One of them is dealing with trade-offs between run-time and design-time quality attributes. To study practices, processes and tools concerning the management of run-time and design-time quality attributes as well as the trade-offs among them from the perspective of embedded systems software engineers. An exploratory case study with two qualitative data collection steps, namely interviews and a focus group, involving six different companies from the embedded systems domain with a total of twenty participants. The interviewed subjects showed a preference for run-time over design-time qualities. Trade-offs between design-time and run-time qualities are very common, but they are often implicit, due to the lack of adequate monitoring tools and practices. Practitioners prefer to deal with trade-offs in the most lightweight way possible, by applying ad-hoc practices, thus avoiding any overhead incurred. Finally, practitioners have elaborated on how they envision the ideal tool support for dealing with trade-offs. Although it is notoriously difficult to deal with trade-offs, constantly monitoring the quality attributes of interest with automated tools is key in making explicit and prudent trade-offs and mitigating the risk of incurring technical debt

    System Qualities Ontology, Tradespace and Affordability (SQOTA) Project – Phase 4

    Get PDF
    This task was proposed and established as a result of a pair of 2012 workshops sponsored by the DoD Engineered Resilient Systems technology priority area and by the SERC. The workshops focused on how best to strengthen DoD’s capabilities in dealing with its systems’ non-functional requirements, often also called system qualities, properties, levels of service, and –ilities. The term –ilities was often used during the workshops, and became the title of the resulting SERC research task: “ilities Tradespace and Affordability Project (iTAP).” As the project progressed, the term “ilities” often became a source of confusion, as in “Do your results include considerations of safety, security, resilience, etc., which don’t have “ility” in their names?” Also, as our ontology, methods, processes, and tools became of interest across the DoD and across international and standards communities, we found that the term “System Qualities” was most often used. As a result, we are changing the name of the project to “System Qualities Ontology, Tradespace, and Affordability (SQOTA).” Some of this year’s university reports still refer to the project as “iTAP.”This material is based upon work supported, in whole or in part, by the U.S. Department of Defense through the Office of the Assistant of Defense for Research and Engineering (ASD(R&E)) under Contract HQ0034-13-D-0004.This material is based upon work supported, in whole or in part, by the U.S. Department of Defense through the Office of the Assistant of Defense for Research and Engineering (ASD(R&E)) under Contract HQ0034-13-D-0004

    Object-Oriented Systems Development: A Review of Empirical Research

    Get PDF
    Object-oriented systems development (OOSD) is viewed by many as the best available solution to the ongoing software crisis. However, some caution that OOSD is so complex that it may never become a mainstream methodology. To settle the controversy requires high-quality empirical evidence. This paper surveys the most rigorous research on OOSD available over the past decade. A review of these empirical studies indicates that the weight of the evidence tends to slightly favor OOSD, although most studies fail to build on a theoretical foundation, many suffer from inadequate experimental designs, and some draw highly questionable conclusions from the evidence. This set of conditions points to the need for additional, higher quality research to build a better case either for or against OOSD
    corecore