17 research outputs found

    Rekonfigurierbare Software-Systeme: Spezifikation und Testfallgenerierung

    Get PDF
    Hochkonfigurierbare Software wird heutzutage in vielen modernen AnwendungsdomĂ€nen eingesetzt, um immer stĂ€rker individualisierte Anforderungen bedienen zu können. Eine SchlĂŒsseltechnologie zum Umgang mit konfigurierbarer Software ist Software-Produktlinienentwicklung, bei der eine Software-Familie, bestehend aus Ă€hnlichen Produkten, entwickelt wird. Die VariabilitĂ€t der FunktionalitĂ€t der Produkte wird dabei in Features gekapselt, welche die fĂŒr Kunden sichtbaren Konfigurationsoptionen einer Software-Produktlinie (SPL) darstellen. Moderne Software-Systeme mĂŒssen jedoch nicht nur hochkonfigurierbar sein, sondern auch unter sich kontinuierlich Ă€ndernden Bedingungen, wie wechselnden Anforderungen, funktionieren. Beispielsweise mĂŒssen Produktivsysteme aus der Automatisierungstechnik immer flexibler werden, um die Anforderungen neuer Produktionsmethoden im Industrie-4.0-Kontext zu erfĂŒllen. Eine Erweiterung von SPLs zur Modellierung solcher individuell konfigurierbaren, laufzeitadaptiven Systeme mit der FĂ€higkeit der Rekonfiguration zur Laufzeit sind dynamische Software-Produktlinien (DSPL). Speziell im Kontext von missions- und sicherheitskritischen Systemen erfordert das Design zuverlĂ€ssiger DSPLs eine prĂ€zise Spezifikation des funktionalen und des Rekonfigurationsverhaltens. Aktuellen Arbeiten zur Spezifikation von DSPLs fehlt es jedoch an Möglichkeiten, um komplexe Restriktionen auf Konfigurationsparametern sowie entsprechenden Rekonfigurationsoptionen prĂ€zise formulieren zu können. Weiterhin ist eine umfassende QualitĂ€tssicherung von DSPLs mit Fokus auf deren Rekonfigurationsverhalten erforderlich, um ein Fehlverhalten sicherheitskritischer DSPLs möglichst auszuschließen. In der Praxis ist das Testen die etablierteste und am besten skalierende QualitĂ€tssicherungstechnik. Jedoch beschreiben aktuelle Arbeiten zum Testen von DSPLs im Allgemeinen Test-Frameworks, die das Vorhandensein einer initialen, manuell erstellen Test-Suite voraussetzen, aber die Erstellung dieser Test-Suiten außer Acht lassen. In dieser Arbeit stellen wir einen ganzheitlichen Ansatz zur Spezifikation und Validierung von DSPLs sowie zur automatisierten Generierung von TestfĂ€llen fĂŒr DSPLs vor. Dabei werden existierende SpezifikationsansĂ€tze fĂŒr DSPLs dahingehend erweitert, dass Features in einem flexiblen stufenweisen Konfigurationsprozess mit multiplen Bindungszeiten konfiguriert werden können und logische sowie temporale AbhĂ€ngigkeiten zwischen Features durch komplexe Bindungszeitrestriktionen prĂ€zise ausgedrĂŒckt werden können. Darauf aufbauend werden automatisierte ValidierungsansĂ€tze fĂŒr DSPL-Spezifikationen vorgestellt, welche essentielle ValiditĂ€tseigenschaften von stufenweisen Konfigurationsprozessen mit komplexen Bindungszeitrestriktionen sicherstellen. Weiterhin wird ein Ansatz zur effizienten Test-Suite-Generierung mit Fokus auf dem Rekonfigurationsverhalten von DSPLs prĂ€sentiert. Da Testgenerierung aufgrund wiederholter berechnungsintensiver Erreichbarkeitsanalysen fĂŒr verschiedene Testziele gemĂ€ĂŸ einem Abdeckungskriterium schon fĂŒr einzelne Produkte ein schweres Problem darstellt, ist es das Ziel die Wiederverwendbarkeit von Ergebnissen zwischen den Erreichbarkeitsanalysen zu erhöhen. HierfĂŒr werden zuerst existierende Model-Checker-basierte TestgenerierungsansĂ€tze mit aktuellen Techniken aus dem Bereich Multi-Property-Checking zur Erhöhung der Wiederverwendung von Erreichbarkeitsanalyseergebnissen zur Abdeckung mehrerer Testziele kombiniert. Dieser Ansatz wird um die Möglichkeit erweitert, TestfĂ€lle fĂŒr ganze Software-Familien zu erstellen und dadurch Erreichbarkeitsanalyseergebnisse zwischen Produkten wiederzuverwenden. Zum Schluss wird der Ansatz so erweitert, dass bei der Testgenerierung das Rekonfigurationsverhalten von DSPLs mitberĂŒcksichtigt wird. Die in dieser Arbeit vorgestellten Konzepte werden anhand von Beispielen aus der Praxis motiviert und illustriert sowie auf Basis prototypischer Implementierungen evaluiert

    Rekonfigurierbare Software-Systeme: Spezifikation und Testfallgenerierung

    No full text
    Hochkonfigurierbare Software wird heutzutage in vielen modernen AnwendungsdomĂ€nen eingesetzt, um immer stĂ€rker individualisierte Anforderungen bedienen zu können. Eine SchlĂŒsseltechnologie zum Umgang mit konfigurierbarer Software ist Software-Produktlinienentwicklung, bei der eine Software-Familie, bestehend aus Ă€hnlichen Produkten, entwickelt wird. Die VariabilitĂ€t der FunktionalitĂ€t der Produkte wird dabei in Features gekapselt, welche die fĂŒr Kunden sichtbaren Konfigurationsoptionen einer Software-Produktlinie (SPL) darstellen. Moderne Software-Systeme mĂŒssen jedoch nicht nur hochkonfigurierbar sein, sondern auch unter sich kontinuierlich Ă€ndernden Bedingungen, wie wechselnden Anforderungen, funktionieren. Beispielsweise mĂŒssen Produktivsysteme aus der Automatisierungstechnik immer flexibler werden, um die Anforderungen neuer Produktionsmethoden im Industrie-4.0-Kontext zu erfĂŒllen. Eine Erweiterung von SPLs zur Modellierung solcher individuell konfigurierbaren, laufzeitadaptiven Systeme mit der FĂ€higkeit der Rekonfiguration zur Laufzeit sind dynamische Software-Produktlinien (DSPL). Speziell im Kontext von missions- und sicherheitskritischen Systemen erfordert das Design zuverlĂ€ssiger DSPLs eine prĂ€zise Spezifikation des funktionalen und des Rekonfigurationsverhaltens. Aktuellen Arbeiten zur Spezifikation von DSPLs fehlt es jedoch an Möglichkeiten, um komplexe Restriktionen auf Konfigurationsparametern sowie entsprechenden Rekonfigurationsoptionen prĂ€zise formulieren zu können. Weiterhin ist eine umfassende QualitĂ€tssicherung von DSPLs mit Fokus auf deren Rekonfigurationsverhalten erforderlich, um ein Fehlverhalten sicherheitskritischer DSPLs möglichst auszuschließen. In der Praxis ist das Testen die etablierteste und am besten skalierende QualitĂ€tssicherungstechnik. Jedoch beschreiben aktuelle Arbeiten zum Testen von DSPLs im Allgemeinen Test-Frameworks, die das Vorhandensein einer initialen, manuell erstellen Test-Suite voraussetzen, aber die Erstellung dieser Test-Suiten außer Acht lassen. In dieser Arbeit stellen wir einen ganzheitlichen Ansatz zur Spezifikation und Validierung von DSPLs sowie zur automatisierten Generierung von TestfĂ€llen fĂŒr DSPLs vor. Dabei werden existierende SpezifikationsansĂ€tze fĂŒr DSPLs dahingehend erweitert, dass Features in einem flexiblen stufenweisen Konfigurationsprozess mit multiplen Bindungszeiten konfiguriert werden können und logische sowie temporale AbhĂ€ngigkeiten zwischen Features durch komplexe Bindungszeitrestriktionen prĂ€zise ausgedrĂŒckt werden können. Darauf aufbauend werden automatisierte ValidierungsansĂ€tze fĂŒr DSPL-Spezifikationen vorgestellt, welche essentielle ValiditĂ€tseigenschaften von stufenweisen Konfigurationsprozessen mit komplexen Bindungszeitrestriktionen sicherstellen. Weiterhin wird ein Ansatz zur effizienten Test-Suite-Generierung mit Fokus auf dem Rekonfigurationsverhalten von DSPLs prĂ€sentiert. Da Testgenerierung aufgrund wiederholter berechnungsintensiver Erreichbarkeitsanalysen fĂŒr verschiedene Testziele gemĂ€ĂŸ einem Abdeckungskriterium schon fĂŒr einzelne Produkte ein schweres Problem darstellt, ist es das Ziel die Wiederverwendbarkeit von Ergebnissen zwischen den Erreichbarkeitsanalysen zu erhöhen. HierfĂŒr werden zuerst existierende Model-Checker-basierte TestgenerierungsansĂ€tze mit aktuellen Techniken aus dem Bereich Multi-Property-Checking zur Erhöhung der Wiederverwendung von Erreichbarkeitsanalyseergebnissen zur Abdeckung mehrerer Testziele kombiniert. Dieser Ansatz wird um die Möglichkeit erweitert, TestfĂ€lle fĂŒr ganze Software-Familien zu erstellen und dadurch Erreichbarkeitsanalyseergebnisse zwischen Produkten wiederzuverwenden. Zum Schluss wird der Ansatz so erweitert, dass bei der Testgenerierung das Rekonfigurationsverhalten von DSPLs mitberĂŒcksichtigt wird. Die in dieser Arbeit vorgestellten Konzepte werden anhand von Beispielen aus der Praxis motiviert und illustriert sowie auf Basis prototypischer Implementierungen evaluiert
    corecore