Ähnlich wie bei der beschriebenen Konstruktionsmethodik, müssen auch für die Kompatibilität bezüglich des Datenaustauschs notwendige Informationen identifiziert werden. Es muss also geklärt sein, was über softwaredominierte Entwicklungseinheiten bekannt zu sein hat, um eine Aussage über deren Kompatibilität treffen zu können. Eine endgültige Aussage über die Kompatibilität von Entwicklungseinheiten kann erst getroffen werden, wenn alle Entwicklungseinheiten vollständig entwickelt sind – sprich, die Software-Funktionen komplett vorliegen. Da dieser Zustand spät im Entwicklungsprozess – zur Implementierung – vorliegt, stellt sich die Frage, wie durch eine Reduktion des Informationsumfangs der Entwicklungseinheiten bereits früher im Entwicklungsprozess belastbare Aussagen zur Kompatibilität getroffen werden können. Durch die unterschiedlichen Betrachtungsweisen auf ein System kann der Themenkomplex „Kompatibilität“ in die drei sich ergänzenden Bereiche Verträglichkeit, Konformität und Konsistenz untergliedert werden.
Die Verträglichkeit untersucht das Zusammenspiel zwischen mindestens zwei Entwicklungseinheiten hinsichtlich der Erfüllung der funktionalen Anforderungen. Im Fokus steht die Überprüfung der Ergebnisse der Entwicklungseinheiten. Darunter wird verstanden, dass die Entwicklungseinheiten auf eine gegebene Eingabe ein korrektes Ergebnis liefern. Für ein korrektes Ergebnis muss die Verträglichkeit der kommunizierenden Entwicklungseinheiten gegeben sein.
Am Beispiel eines elektrischen Fensterhebers bedeutet das, dass auf die Eingabe „Fenster schließen“ erwartet wird, dass das Fenster sich schließt, also nach oben fährt (Bild 2). Die Entwicklungseinheit „Fensterheber-Motor“ ist verträglich zum Bedienteil des Fensterhebers, wenn dieser auf spezifizierte Eingaben (z.B. Fenster zu, Fenster auf, Stopp) korrekt reagiert. Für die Verträglichkeit muss der Motor des Fensterhebers auf eine gültige Eingabe mit der korrekten Ausgabe reagieren.
Um diese Untersuchungen durchführen zu können, ist es notwendig, den gesamten Funktionsumfang der Entwicklungseinheiten – also Algorithmen und Regelungen – vorliegen zu haben.
Unter Konformität wird die Erfüllung einer Anforderung in Form von Informationsflüssen durch eine Entwicklungseinheit verstanden, die durch umgebende Entwicklungseinheiten gefordert wird. Hier steht die Erfüllung von Leistungen in Form von Informationsflüssen im Fokus. Kompatibilität bedeutet in dieser Sichtweise das Erfüllen der Vorgaben der Umgebung durch eine Entwicklungseinheit und wird im Folgenden mit Konformität bezeichnet. Gemäß [5] ist Konformität die „Erfüllung einer Anforderung“. Diese allgemeine Definition wird für den Kontext der dem Beitrag zugrunde liegenden Arbeit präzisiert.
Am Beispiel einer ACC-Regelanlage bedeutet das, dass von dem ACC-System die Bereitstellung der Information „Sollbeschleunigung“ erwartet wird. Die Konformität fordert von einer Entwicklungseinheit die Bereitstellung von Informationen für die Umgebung sowie die Akzeptanz von Informationen der Umgebung – im Beispiel „ACC-Regelanlage“ also, dass die Entwicklungseinheit Informationen über den Fahrzeugabstand aufnehmen und dem Motorsteuergerät den Informationsfluss „Sollbeschleunigung“ zur Verfügung stellen kann (siehe Bild 3).
Die Konformität fordert auf eine gültige Eingabe eine gültige, aber nicht unbedingt korrekte Ausgabe. Somit wird nicht die Funktion überprüft. Ob jetzt der durch die ACC berechnete Beschleunigungsverlauf nach den spezifizierten Vorgaben komfortabel gestaltet ist oder nicht, ist nicht Gegenstand der Konformität. Letzteres macht also Aussagen über das Verhältnis einer Entwicklungseinheit zu ihrer Umgebung. Untersucht wird, ob eine betrachtete Entwicklungseinheit den vorgegebenen Regeln durch ihre Umgebung genügt – konform zu ihr ist. Da nicht die korrekte Reaktion einer Entwicklungseinheit untersucht wird, werden nicht die Algorithmen und Regelungen benötigt.