Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Beitrag drucken

Entwicklung variantenreicher Systeme verbessern

Anwendungsmöglichkeiten für Feature-Modelle

Feature-Modelle werden im Konfigurationsprozess angewandt, um eine gültige Kombination von Features für eine Produktvariante zu bestimmen. Darüber hinaus können sie die Entwicklung variantenreicher Systeme unterstützen. Dies vereinfacht die Wartung und Pflege variantenreicher Systeme und erhöht die Qualität der Implementierungsbestandteile.

Bild: ©Tarey/Pixabay.com

Bild: ©Tarey/Pixabay.com

Feature-Modelle werden zur Modellierung von Variabilität in variantenreichen Systemen verwendet. Kern der Modellierung sind Features, die eine bestimmte Funktionalität für das System umsetzen und deren Anwahl/Abwahl das Verhalten generierter Systemvarianten beeinflussen. Gültige Kombinationen von Features werden im Feature-Modell über Abhängigkeiten dokumentiert, wie es das Bild unten zeigt. Das Modell enthält obligatorische Features (zum Beispiel ‘Karrosserie’) und ein optionales Feature (‘Anhängerkupplung’). Abhängigkeiten zwischen Features werden durch Gruppen (Alternative-Gruppe, Or-Gruppe) repräsentiert. So bilden die beiden Getriebeformen (Features ‘Automatik’ und ‘Schaltung’) eine Alternative-Gruppe, das heißt nur eins der beiden Features kann gewählt werden. Die Features ‘Verbrennungsmotor’ und ‘E-Motor’ bilden eine Or-Gruppe, mindestens ein Feature der Gruppe muss gewählt werden. Abhängigkeiten zwischen Features in verschiedenen Zweigen können durch logische Operatoren dargestellt werden. Für das Beispiel ergeben sich acht Systemvarianten. Zur Umsetzung variabler Bestandteile eines variantenreichen Systems werden häufig Annotationen verwendet (zum Beispiel #ifdef- #endif). Sie markieren jene Teile in der Implementierung mit einer Feature-Kombination, die variabel sein sollen. Beispielsweise sind alle Bestandteile zwischen #if E-Motor … #endif vom E-Motor abhängig. Doch Annotationen werden nicht nur für Quellcode verwendet, sondern kommen im Rahmen von Implementierungswerkzeugen für variantenreiche Systeme auch bei nicht-Code Bestandteilen zum Einsatz (Microsoft Word, Architekturmodellierung, Requirements Engineering et cetera).

Anwendungsmöglichkeiten für Feature-Modelle

Anwendungsmöglichkeiten für Feature-Modelle beruhen auf der Idee, dass das Modell nicht nur einen Dokumentationszweck hat, sondern in Repräsentationsformen überführt werden kann, die verschiedene Anwendungsmöglichkeiten erlauben. Für Feature-Modelle sind solch eine Repräsentationsform Boolesche Formeln. Features werden durch Boolesche Variablen repräsentiert und die Zusammenhänge zwischen Features durch logische Operatoren (‘und’, ‘oder’, ‘nicht’). Gemeinsam erlauben Variablen und Operatoren eine Eins-zu-eins Repräsentation der Bedeutung des Feature-Modells.

Bild: Method Park

Vereinfachtes Feature-Modell für ein Auto. (Bild: Method Park)

Aufdecken von Konfigurationsdefekten

Zur Identifikation von Konfigurationsdefekten werden Annotationen von Implementierungsbestandteilen gegen das Feature-Modell geprüft. Ein Konfigurationsdefekt ist eine ungültige Feature-Kombination, die mit Blick auf die Repräsentation als Boolesche Formel nicht erfüllbar ist. Die Prüfung auf Konfigurationsdefekte erlaubt die Identifikation von Widersprüchen. Beispielsweise ist die Annotation ‘E-Motor’ und ‘Schaltung’ ungültig, weil das Feature ‘E-Motor’ nur zusammen mit dem Feature ‘Automatik’ verwendet werden darf. Darüber hinaus können Konfigurationsdefekte in der Implementierung identifiziert werden. Dazu folgendes Beispiel: Gegeben sind zwei Requirements R1 und R2, die einen Ausschnitt einer Systemspezifikation dokumentieren.

  • R1: The car should accelerate to 100km/h in 5 seconds.
  • R2: The system should have an electric engine. (#if E-Motor)

Weiterhin ist dokumentiert, dass R1 von R2 (‘depends on’) abhängt. Wenn Feature ‘E-Motor’ für eine Systemvariante nicht ausgewählt und dadurch R2 gelöscht wird, kann der ‘depends on’-Link zwischen den beiden Requirements nicht mehr erfüllt werden. Folgender Defekt könnte angezeigt werden: Der Link R1 ‘depends on’ ist ohne Ziel. Dieser Ansatz lässt sich auf andere Implementierungsbestandteile übertragen (zum Beispiel Quellcode oder Architektur).

Reduktion des Testaufwands

In der Regel übersteigt der Aufwand für das Testen von Systemvarianten einer Produktlinie die zur Verfügung stehenden Ressourcen um ein Vielfaches, da das Testen aller Systemvarianten praktisch unmöglich ist. Um den Testaufwand zu reduzieren, lässt sich mittels des Feature-Modells eine Teilmenge der Systemvarianten automatisch erstellen. Um beispielsweise sicherzustellen, dass ein Fehlerzustand nicht von einem Feature abhängt, müssten folgende zwei Varianten getestet werden, in denen jedes optionale Feature mindestens einmal an- und einmal abgewählt ist:

  • Variante 1: ‘Auto’, ‘nicht Anhängerkupplung’, ‘Karosserie’, ‘Motor’, ‘E-Motor’, ‘Automatik’, ‘nicht Schaltung’, ‘Getriebe’, ‘nicht Verbrennungsmotor’
  • Variante 2: ‘Auto’, ‘Anhängerkupplung’, ‘Karosserie’, ‘Motor’, ‘nicht E-Motor’, ‘nicht Automatik’, ‘Schaltung’, ‘Getriebe’, ‘Verbrennungsmotor’

Auf dieser Grundlage lassen sich Mengen von Systemvarianten auch für andere Kriterien definieren, zum Beispiel die Berücksichtigung von Feature-Kombinationen, das heisst alle Zweier- oder Dreier-Kombinationen (Pair-wise beziehungsweise Triple-wise). Auch bei steigender Variantenzahl kann man für alle generierbaren Systemvarianten gesicherte Aussagen treffen: „Jedes Feature/alle paarweisen oder dreifachen Feature-Kombinationen sind erfolgreich getestet.“ Für die drei Kriterien Feature-wise, Pair-wise und Triple-wise müssen im Beispiel zwei, sechs beziehungsweise acht Systemvarianten getestet werden.

Bild: Method Park Holding AG

Spider Chart und Bubble Chart zur Visualisierung von Variabilität und nicht-funktionaler Eigenschaften. (Bild: Method Park Holding AG)

Unterstützung der Impact Analysis

Variabilitätsinformationen des Features-Modells können die Durchführung einer Impact Analysis unterstützen. Falls ein Fehler in variablen Implementierungsbestandteilen auftaucht, dient die zugrundeliegende Annotation dafür als Ausgangspunkt. Angenommen, ein Fehler tritt in der Feature-Implementierung von ‘E-Motor’ auf. Basierend auf den definierten Abhängigkeiten im Feature-Modell lassen sich folgende Aussagen ableiten:

  • Der Fehler steht möglicherweise im Zusammenhang mit Feature ‘Automatik’.
  • Der Fehler steht nicht im Zusammenhang mit Feature ‘Schaltung’, weil Feature ‘E-Motor’ und Feature ‘Schaltung’ nicht zusammen gewählt werden können.

Für komplexere Feature-Modelle mit einer größeren Feature-Anzahl und mehr Abhängigkeiten ergeben sich meist weitere Aussagen. Auch bei der Absicherung eines Fehlers lassen sich Testaufwände reduzieren. Zum Sichern der Systemvarianten müssen unter Berücksichtigung von Feature E-Motor für die zuvor definierten Kriterien Feature-wise, Pair-wise und Triple-wise zwei beziehungsweise vier Systemvarianten getestet werden. Dies entspricht einer weiteren Testaufwandsreduktion von bis zu 50 Prozent.

Bild: Method Park Holding AG

Um nicht-funktionale Eigenschaften angereichertes Feature-Modell. (Bild: Method Park Holding AG)

Bestimmung von Produktkonfigurationen

Während Features eines Features-Modells funktionale Eigenschaften eines Gesamtsystems berücksichtigen, gibt es bei der Wahl einer richtigen Systemvarianten häufig weitere Eigenschaften, die eine Rolle spielen. Diese Eigenschaften sind meist nicht-funktional und können keinem Feature im Sinne des Gesamtsystems zugeordnet werden. Typische nicht-funktionale Eigenschaften sind: Kosten (costs), Leistungsfähigkeit (perf), Gewicht (weight). Falls existierende Feature-Modelle mit nicht-funktionalen Eigenschaften angereichert werden, können Systemvarianten erstellt werden, die hinsichtlich dieser nicht-funktionalen Eigenschaften optimiert sind (zum Beispiel Minimierung der Kosten und Gewicht bei gleichzeitiger Maximierung der Leistungsfähigkeit unter Berücksichtigung von Variabilität). Während der Einsatz von Feature-Modellen in der Praxis etabliert ist – man denke an die Konfiguratoren, die alle Autobauer dem Kunden auf ihren Webseiten anbieten – gewinnt die Entwicklung hochvariabler Systeme in vielen Branchen an Bedeutung. Die genannten Anwendungsmöglichkeiten für Feature-Modelle unterstützen diese Entwicklung, indem die Vielzahl vom Kunden geforderter Varianten durch eine variantenreiche Systementwicklung abgedeckt wird. Diese Entwicklung erlaubt die Bereitstellung einer Fülle von Systemvarianten – bei einer gleichzeitig sehr hohen Qualität.


Das könnte Sie auch interessieren:

Die Steigerung von Produktivität und Effektivität in der Industrie und eine ressourcenschonende Nachhaltigkeit stehen sich nicht unversöhnlich gegenüber. Wirtschaftliche Ziele und ökologische Verantwortung unterstützen sich gegenseitig - nur ist das noch nicht überall erkannt.‣ weiterlesen

Die 16. FMB – Zuliefermesse Maschinenbau findet vom 10. bis 12. November 2021 im Messezentrum Bad Salzuflen statt. Zu den Topthemen kürte Veranstalter Easyfairs die Oberflächentechnik und Digitalisierung.‣ weiterlesen

Produktionsunternehmen sollen mit den neuen IoTmaxx-Mobilfunk-Gateways Maschinendaten besonders schnell in die AnyViz-Cloud übertragen können.‣ weiterlesen

Self-Service-Technologie, digitale Assistenten, künstliche Intelligenz - die Digitalwerkzeuge fürs Kundenbeziehungsmanagement werden immer ausgefeilter. Sind CRM- und ERP-System gut integriert, lassen sich im Sinn des xRM-Ansatzes auch leicht die Beziehungen zu Geschäftspartnern IT-gestützt pflegen.‣ weiterlesen

Vor allem KMU befürchten häufig, bei der IT-gestützten Prozessoptimierung im Vergleich zu Großkonzernen nicht mithalten zu können. Die beiden Technologieprojekte IIP Ecosphere und FabOS, die im Rahmen des KI-Innovationswettbewerbs vom BMWi gefördert werden, wollen diesen Firmen den Zugang zu KI-Anwendungen erleichtern.‣ weiterlesen

Emerson hat die Einführung der Software Plantweb Optics Data Lake bekanntgegeben. Die Datenmanagement-Lösung identifiziert, erfasst und kontextualisiert unterschiedliche Daten in großem Maßstab entweder vor Ort in industriellen Anlagen oder mithilfe von Cloud-Technologie.‣ weiterlesen

Im September 2021 erscheint die Richtlinie VDI/VDE 2185 Blatt 2 'Funkgestützte Kommunikation in der Automatisierungstechnik - Koexistenzmanagement von Funksystemen'. Wenn unterschiedliche Funksysteme bei Automatisierungsaufgaben unterstützen, ist mit einer gegenseitigen Beeinflussung der Systeme zu rechnen.‣ weiterlesen

Klare Sicht auf das Werksgeschehen und die Rückverfolgbarkeit von Produkten und Prozessen sind zunehmend wichtige Erfolgsfaktoren. Mit dem MES Valeris will WSW Software gerade mittelständischen Fertigern helfen, diese Ziele zu erreichen. Das System soll schnell und günstig einsatzfähig sein, konfiguriert wird es in Eigenregie.‣ weiterlesen

Unternehmen verwalten heute mehr als zehn Mal so große Datenmengen wie noch vor fünf Jahren. Dabei befürchteten 62 % der Befragten in einer aktuellen Untersuchung von Dell Technologies, ihre Maßnahmen zur Datensicherung könnten nicht ausreichend vor Malware-Attacken schützen. 74 % der Umfrageteilnehmer gaben zudem an, dass mit der steigenden Anzahl an Home-Office-Mitarbeitern das Risiko von Datenverlust ansteige.‣ weiterlesen

Der MES-Anbieter Proxia Software kapselt Funktionen seiner Software, um Anwendern mehr Flexibilität beim Cloud-Betrieb ihres Produktionssteuerungssystems zu ermöglichen. Eine Datenvorverarbeitung im sogenannten Fog Layer soll durch eine geringere Anzahl an Transaktionen für mehr IT-Sicherheit und reduzierte Transaktionskosten sorgen.‣ weiterlesen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige