DE102006040698A1 - Automated, model-based method for integrating a functional system architecture with a physical system architecture to an electronic system - Google Patents

Automated, model-based method for integrating a functional system architecture with a physical system architecture to an electronic system Download PDF

Info

Publication number
DE102006040698A1
DE102006040698A1 DE102006040698A DE102006040698A DE102006040698A1 DE 102006040698 A1 DE102006040698 A1 DE 102006040698A1 DE 102006040698 A DE102006040698 A DE 102006040698A DE 102006040698 A DE102006040698 A DE 102006040698A DE 102006040698 A1 DE102006040698 A1 DE 102006040698A1
Authority
DE
Germany
Prior art keywords
platform
components
component
application
functional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102006040698A
Other languages
German (de)
Inventor
Andre Dr. Windisch
Marco Fischer
Stefan Förster
Burkhard Balser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Airbus Defence and Space GmbH
Original Assignee
EADS Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EADS Deutschland GmbH filed Critical EADS Deutschland GmbH
Priority to DE102006040698A priority Critical patent/DE102006040698A1/en
Priority to GB0716690A priority patent/GB2441432A/en
Priority to FR0706096A priority patent/FR2905491B1/en
Publication of DE102006040698A1 publication Critical patent/DE102006040698A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Abstract

Die Erfindung betrifft ein automatisches, modellbasiertes Verfahren zur Integration einer funktionalen Systemarchitektur mit einer physikalischen Systemarchitektur zu einem elektronischen System, insbesondere einem Avioniksystem, wobei die funktionale Systemarchitektur einzelne Applikationskomponenten umfasst und die physikalische Systemarchitektur einzelne Plattformkomponenten umfasst. Eine Zuordnung von Applikationskomponenten auf Plattformkomponenten wird derart vorgenommen, dass I. die Zuordnung vollständig ist II. der funktionale Ablauf der funktionalen Systemarchitektur gewährleistet ist III. die nicht-funktionalen Anforderungen an das Gesamtsystem erfüllt werden.The invention relates to an automatic, model-based method for integrating a functional system architecture with a physical system architecture into an electronic system, in particular an avionics system, wherein the functional system architecture comprises individual application components and the physical system architecture comprises individual platform components. An assignment of application components to platform components is made such that I. the assignment is complete II. The functional sequence of the functional system architecture is ensured III. the non-functional requirements for the entire system are met.

Description

Die Erfindung betrifft ein automatisches, modellbasiertes Verfahren zur Integration einer funktionalen Systemarchitektur mit einer physikalischen Systemarchitektur zu einem elektronischen System, insbesondere einem Avioniksystem. Es handelt sich dabei um Systeme die mehrere Prozessoren aufweisen und mit mehreren Netzwerken verbunden sind (so genannte "verteilte eingebettete Systeme").The The invention relates to an automatic, model-based method to integrate a functional system architecture with a physical system architecture to an electronic system, in particular an avionics system. These are systems that have multiple processors and are connected to multiple networks (called "distributed embedded Systems ").

Bei der Entwicklung von integrierten modularen Avioniksystemen (IMA) wird die Softwarefunktionalität hardware-unabhängig in Form eines Funktionsgraphen entwickelt. Diese so genannte funktionale Architektur kann unter Berücksichtigung von hardware-spezifischen und betriebssystemspezifischen Rahmenbedingungen auf verschiedene Hardwareplattformen (so genannte physikalische Architektur) verteilt, integriert werden. Diese Verteilung wird in Systemtabellen festgeschrieben.at the development of integrated modular avionics systems (IMA) becomes the software functionality hardware-independent developed in the form of a function graph. This so-called functional Architecture can be considered of hardware-specific and operating system-specific framework conditions on different hardware platforms (so-called physical Architecture), be integrated. This distribution will enshrined in system tables.

IMA-Systeme werden derzeit in vielen neuen fliegenden Systemen (z.B. Airbus A380, Eurofighter) eingeführt, entsprechende IMA-Systemtabellen müssen von Hand erstellt werden. Die hohe Systemkomplexität manifestiert sich in umfangreichen Systemtabellen, welche bei manueller Erstellung eine hohe Fehlerrate aufweisen können. Systemfehlverhalten, hervorgerufen durch fehlerhafte bzw. inkonsistente IMA-Systemtabellen ist schwer als solches zu lokalisieren, da es sich typischerweise als funktionaler Fehler für den Nutzer darstellt.IMA systems are currently used in many new flying systems (e.g., Airbus A380, Eurofighter), appropriate IMA system tables must be created by hand. The high system complexity manifests itself in extensive system tables, which in manual Creation can have a high error rate. System failure caused through faulty or inconsistent IMA system tables is hard as such, as it is typically a functional error for the Represents users.

Es ist Aufgabe der Erfindung, ein automatisches, modellbasiertes Verfahren zur Integration von funktionaler und physikalischer Systemarchitektur zu schaffen.It The object of the invention is an automatic, model-based method for integration of functional and physical system architecture to accomplish.

Diese Aufgabe wird mit dem Verfahren gemäß Patentanspruch 1 gelöst. Eine vorteilhafte Ausführung ist Gegenstand eines Unteranspruchs.These Task is solved by the method according to claim 1. A advantageous embodiment is the subject of a sub-claim.

Erfindungsgemäß wird ein automatisches, modellbasiertes Verfahren zur Integration einer funktionalen Systemarchitektur (im Folgenden auch als Applikation bezeichnet) mit einer physikalischen Systemarchitektur (im Folgenden auch als Plattform bezeichnet) zu einem elektronischen System, insbesondere einem Avioniksystem, geschaffen, wobei die funktionale Systemarchitektur einzelne Applikationskomponenten umfasst und die physikalische Systemarchitektur einzelne Plattformkomponenten umfasst. Eine Zuordnung (im Folgenden auch als Bindung bezeichnet) von Applikationskomponenten auf Plattformkomponenten wird derart vorgenommen, dass

  • I. die Zuordnung vollständig ist gemäß Schritt 5
  • II. der funktionale Ablauf der funktionalen Systemarchitektur gewährleistet ist
  • III. die nicht-funktionalen Anforderungen an das Gesamtsystem erfüllt werden.
According to the invention, an automatic, model-based method for integrating a functional system architecture (hereinafter also referred to as application) with a physical system architecture (also referred to below as a platform) to an electronic system, in particular an avionics system, created, wherein the functional system architecture comprises individual application components and the physical system architecture comprises individual platform components. An assignment (also referred to below as binding) of application components to platform components is undertaken such that
  • I. the assignment is complete according to step 5
  • II. The functional flow of the functional system architecture is ensured
  • III. the non-functional requirements for the entire system are met.

In einem ersten Schritt wird die Spezifikation der funktionalen Systemarchitektur sowie der physikalische Systemarchitektur zur Verfügung gestellt, welche folgende Eigenschaften aufweisen:

  • I. Plattformkomponenten als auch Applikationskomponenten bilden eine Hierarchie, bei der Unterkomponenten eine strukturelle Verfeinerung der zugehörigen Vaterkomponenten darstellen,
  • II. mittels Verhaltenserweiterung von Plattformkomponenten als auch von Applikationskomponenten können diesen weitere Anschlüsse, Funktionen und Attribute hinzugefügt werden,
  • III. die Plattformkomponenten weisen so genannte logische Plattformunterkomponenten als Platzhalter für später einzufügende Applikationskomponenten auf.
In a first step, the specification of the functional system architecture and the physical system architecture is provided, which have the following properties:
  • I. platform components as well as application components form a hierarchy in which subcomponents represent a structural refinement of the associated parent components,
  • II. By means of behavioral expansion of platform components as well as of application components, further connections, functions and attributes can be added to these
  • III. The platform components have so-called logical platform subcomponents as placeholders for later to be inserted application components.

In einem zweiten Schritt wird die Menge der logischen Plattformunterkomponenten der physikalischen Systemarchitektur bestimmt.In a second step is the set of logical platform subcomponents determined by the physical system architecture.

In einem dritten Schritt wird die Menge der der physikalischen Systemarchitektur zuzuordnenden Applikationskomponenten bestimmt, wobei die Zuordnung einer Applikationskomponente auf eine Plattformkomponente zulässig ist, wenn

  • I. eine Applikationskomponente auch als logische Plattformunterkomponente der Plattformkomponente existiert, oder
  • II. eine Applikationskomponente von einer logischen Plattformunterkomponente der Plattformkomponente durch Verhaltenserweiterung abgeleitet ist,
In a third step, the amount of the application components to be assigned to the physical system architecture is determined, wherein the assignment of an application component to a platform component is permitted if
  • I. an application component also exists as a logical platform subcomponent of the platform component, or
  • II. An application component is derived from a logical platform subcomponent of the platform component by behavior extension,

Falls die Zuordnung einer Applikationskomponente auf eine Plattformkomponente nicht zulässig ist, kann in einer vorteilhaften Ausführung geprüft werden, ob die Bindung einer Vaterkomponente der Applikationskomponente zulässig ist.If the assignment of an application component to a platform component is not allowed can in an advantageous embodiment being checked, whether the binding of a parent component of the application component permissible is.

In einem vierten Schritt wird die Menge der Cluster von Applikationskomponenten bestimmt, wobei ein Cluster solche Applikationskomponenten umfasst, die derselben Plattformkomponente zugeordnet werden müssen.In a fourth step is the set of clusters of application components determined, wherein a cluster comprises such application components, which must be assigned to the same platform component.

In einem fünften Schritt wird eine erste Systemvariante durch vollständige Zuordnung der Cluster von Applikationskomponenten auf die Plattformkomponenten erzeugt.In a fifth Step is a first system variant by complete assignment the cluster of application components on the platform components generated.

In einem sechsten Schritt wird überprüft, ob die erzeugte Systemvariante vorgegebene funktionale und nicht-funktionale Anforderungen erfüllt; fällt die Prüfung negativ aus, werden durch Änderung der Zuordnung der Cluster auf die Plattformkomponenten neue Systemvarianten erzeugt, uns zwar solange, bis eine zulässige Systemvariante vorliegt.In a sixth step, it is checked whether the generated system variant fulfills given functional and non-functional requirements; If the test is negative, new system variants are generated by changing the assignment of the clusters to the platform components. until there is an admissible system variant.

In einem siebten Schritt schließlich wird die zulässige Systemvariante in eine Systemtabelle für das elektronische System transformiert.In a seventh step finally will be the allowed System variant in a system table for the electronic system transformed.

Mit der vorliegenden Erfindung sind die folgenden Vorteile beim Einsatz in Luftfahrzeugen verbunden:

  • – Effizienzerhöhung bei der Integration von IMA-Systemen durch Automatisierung und inhärente Konsistenzsicherung;
  • – Beschleunigung inkrementeller Änderungen im IMA-Systemdesign durch Automatisierung wichtiger Systemintegrationsschritte;
  • – Wiederverwendbarkeit von Komponenten und konfigurierten Systemvarianten durch Speicherung in Datenbank; langfristiger Know-How-Aufbau und potentielle Effizeinzsteigerung bei der Entwicklung neuer IMA-Systeme;
  • – Systemtabellen-Gernerierung adaptierbar für verschiedene Plattformen durch einfachen Austausch des Systemtabellen-Generators (z.B. ASAAC/ARINC), wobei Systemkonfigurator und Datenbankformat gleich bleiben (ASAAC und ARINC sind international standardisierte IMA-Plattformen).
The following advantages are associated with the present invention when used in aircraft:
  • - Increase of efficiency in the integration of IMA systems through automation and inherent consistency assurance;
  • Acceleration of incremental changes in IMA system design by automating key system integration steps;
  • - Reusability of components and configured system variants through storage in database; long-term know-how build-up and potential increase in efficiency in the development of new IMA systems;
  • - System table generation adaptable to different platforms by simply swapping the system table generator (eg ASAAC / ARINC) keeping the system configurator and database format the same (ASAAC and ARINC are internationally standardized IMA platforms).

Die Erfindung wird im Folgenden anhand konkreter Beispiele unter Bezugnahme auf Fig. näher erläutert. Es zeigen:The The invention will be described below with reference to specific examples closer to Fig explained. Show it:

1 die Gesamtdarstellung einer Anordnung zur Durchführung des erfindunggemäßen Verfahrens; 1 the overall representation of an arrangement for carrying out the inventive method;

2 eine Darstellung zu Komponentenkategorien und Komponenteneigenschaften; 2 a representation of component categories and component properties;

3 Beispiele für die strukturelle Verfeinerung von Komponenten; 3 Examples of the structural refinement of components;

4 eine Darstellung zur Verhaltenserweiterung von Komponenten; 4 a representation of the behavioral extension of components;

5 eine Darstellung zum Prinzip der Beschreibung von Schichten; 5 a representation of the principle of the description of layers;

6 eine Applikation; 6 an application;

7 eine Plattform; 7 a platform;

8 eine partielle Bindung einer Applikation auf eine Plattform; 8th a partial binding of an application to a platform;

9 der Ablauf des erfindungsgemäßen Verfahrens; 9 the course of the method according to the invention;

10 eine Darstellung zum Ablauf des zweiten Schritts des erfindungsgemäßen Verfahrens 10 a representation of the end of the second step of the method according to the invention

11 eine Darstellung zum Ablauf des dritten Schritts des erfindungsgemäßen Verfahrens; 11 a representation of the end of the third step of the method according to the invention;

12 eine Darstellung zum Ablauf des vierten Schritts des erfindungsgemäßen Verfahrens; 12 a representation of the end of the fourth step of the method according to the invention;

13 eine Darstellung zum Ablauf des fünften Schritts des erfindungsgemäßen Verfahrens; 13 a representation of the end of the fifth step of the method according to the invention;

14 eine Darstellung zum Ablauf des siebten Schritts des erfindungsgemäßen Verfahrens. 14 a representation of the end of the seventh step of the method according to the invention.

1 ist eine Gesamtdarstellung einer Anordnung zur Durchführung des erfindungsgemäßen Verfahrens. 1 is an overall view of an arrangement for carrying out the method according to the invention.

Die Datenbank 1 erfasst sowohl Hardwareressourcen als auch Softwarefunktionen in Form von formalen Komponentenbeschreibungen. Dies umfasst das formal beschriebene funktionale Verhalten und nicht-funktionale Eigenschaften der Komponenten. Die Spezifikation 2 bestehend aus funktionaler (Applikation) und physikalischer (Plattform) Systemarchitektur wird vom Systemdesigner erstellt. Dabei können existierende Komponenten aus der Datenbank 1 verwendet werden. Außerdem können neue Komponenten unter Verwendung existierender Werkzeuge beschrieben und importiert werden (Multi-Formalismus). Der Konfigurator 3 hat die Aufgabe, die beiden Teile der Spezifikation zusammenzuführen, indem eine Zuordnung von Applikationskomponenten (Software) zu Plattformkomponenten (Hardware) ermittelt wird, so dass a) die Zuordnung vollständig ist, b) der funktionale Ablauf der Applikation gewährleistet ist und c) die nicht-funktionalen Anforderungen vom Gesamtsystem erfüllt werden. Die somit vom Konfigurator 3 erzeugte Systemvariante 4 liegt in einem vom Zielsystem unabhängigen Format vor. Dadurch können ermittelte Systemvarianten in der Datenbank für die späteren Wiederverwendung ganz oder teilweise abgelegt werden. Die Aufgabe des Systemtabellen-Generators 5 besteht darin, die Systemvariante in ein vom Zielsystem abhängiges Format zu transformieren. Die vom Systemtabellen-Generator erzeugte Systemtabelle 6 beinhaltet alle zur Konfiguration des Zielsystems benötigten Informationen. Die Systemtabelle wird vom Zielsystem selbst gelesen und verarbeitet.Database 1 captures both hardware resources and software functions in the form of formal component descriptions. This includes the formally described functional behavior and non-functional properties of the components. The specification 2 consisting of functional (application) and physical (platform) system architecture is created by the system designer. In doing so, existing components can be retrieved from the database 1 be used. In addition, new components can be described and imported using existing tools (multi-formalism). The configurator 3 has the task of merging the two parts of the specification by determining an assignment of application components (software) to platform components (hardware) so that a) the assignment is complete, b) the functional sequence of the application is guaranteed and c) not functional requirements are met by the overall system. The thus of the configurator 3 generated system variant 4 is in a format independent of the target system. As a result, determined system variants can be completely or partially stored in the database for later reuse. The task of the system table generator 5 consists of transforming the system variant into a format dependent on the target system. The system table generated by the system table generator 6 contains all the information needed to configure the target system. The system table is read and processed by the target system itself.

Formale Spezifikationsmethodik (2 bis 8)Formal specification methodology ( 2 to 8th )

Das erfindungsgemäße Verfahren gründet sich auf eine formale Spezifikationsmethodik. Diese wird nachfolgend beschrieben, bevor das erfindungsgemäße Verfahren selbst im Einzelnen erläutert wird.The inventive method is founded on a formal specification methodology. This will be below described before the inventive method itself in detail explained becomes.

1. Komponentenbasierte Beschreibung1. Component-based description

Die komponentenbasierte Beschreibung (auch Spezifikation) von Verarbeitungs- und Kommunikationsfunktionalitäten mittels so genannter Verarbeitungskomponenten und Kommunikationskomponente respektive. Komponentenbeschreibungen im Sinne dieser Erfindung beinhalten:

  • a) Ports zur Datenflussmodellierung
  • b) Methoden zur Kontrollflussmodellierung und
  • c) Attribute zur Beschreibung nichtfunktionaler Eigenschaften, wie z.B. Bandbreiten von Netzwerksystemen, Ausführungszeiten, Abmessungen von Hardwaremodulen, etc.
The component-based description (also specification) of processing and commu nikationsfunktionalitäten means of so-called processing components and communication component respectively. Component descriptions within the meaning of this invention include:
  • a) Ports for data flow modeling
  • b) methods for control flow modeling and
  • c) Attributes describing non-functional properties, such as bandwidths of network systems, execution times, dimensions of hardware modules, etc.

Wie in 2 dargestellt, wird zwischen Ports der Kategorien „Input"/„output"/„inout" und Methoden der Kategorien „provided"/„required" unterschieden. Komponenten mit Methoden der Kategorie "required" benötigen den Input eines oder mehrer Unterprogramme. Komponenten mit Methoden der Kategorie "provided" stellen Funktionen in Form eines oder mehrerer Unterprogramme zur Verfügung.As in 2 A distinction is made between ports of the categories "input" / "output" / "inout" and methods of the categories "provided" / "required." Components with methods of the category "required" require the input of one or more subroutines The "provided" category provides functions in the form of one or more subroutines.

Attribute im Sinne dieser Erfindung besitzen einen Namen, einen Typ, einen Wertebereich (gemäß Typ), einen Defaultwert (gemäß Typ) und eine optionale Evaluierungsfunktion.attributes For the purposes of this invention have a name, a type, a Value range (according to type), a default value (according to type) and an optional evaluation function.

2. Beschreibung von struktureller Verfeinerung2. Description of structural refinement

Es besteht die Möglichkeit der strukturellen Verfeinerung von Komponenten mittels Unterkomponenten, wie in 3a–c beispielhaft anhand der Komponenten DPM, MMM, GPM dargestellt. Die strukturelle Verfeinerung wird verwendet zur Modellierung der Systemhierarchie.There is the possibility of structural refinement of components by means of subcomponents, as in 3a C illustrated by way of example with reference to the components DPM, MMM, GPM. The structural refinement is used to model the system hierarchy.

Diese Methode der strukturellen Verfeinerung basiert darauf, dass eine Vaterkomponente mittels einer beliebigen Anzahl Unterkomponenten modelliert und die Datenflüsse (via Ports) und Kontrollflüsse (via Methoden) zwischen dieser Unterkomponenten spezifiziert werden. Bei Unterkomponenten wird unterschieden zwischen echten Unterkomponenten und logischen Unterkomponenten, wobei letztere Platzhalter (auch als "Templates" bezeichnet) für später einzufügende echte Unterkomponenten darstellen. Zu diesem Zweck besteht die Möglichkeit, für eine logische Unterkomponente die minimale und maximale Anzahl der einzufügenden echten Unterkomponenten zu spezifizieren (siehe 3, wo diese Werte links unterhalb der Unterkomponente angegeben sind).This method of structural refinement is based on modeling a parent component using any number of subcomponents and specifying data flows (via ports) and control flows (via methods) between these subcomponents. Subcomponents are distinguished between true subcomponents and logical subcomponents, the latter representing placeholders (also called "templates") for real subcomponents to be inserted later. For this purpose, it is possible to specify for a logical subcomponent the minimum and maximum number of real subcomponents to be inserted (see 3 where these values are given to the left below the subcomponent).

Des weiteren werden funktionale Abhängigkeiten zwischen den Attributen der Vaterkomponente und den Attributen der enthaltenen Unterkomponenten in Form von Evaluierungsfunktionen definiert. Es handelt sich hierbei um ein allgemeines Prinzip aus dem Compilerbau, hier angewandt auf die Systemhierarchie.Of others become functional dependencies between the attributes of the parent component and the attributes of the parent contained subcomponents in the form of evaluation functions Are defined. It is a general principle of the Compiler build, applied here to the system hierarchy.

3. Beschreibung von Verhaltenserweiterung3. Description of behavior extension

Es besteht die Möglichkeit der Verhaltenserweiterung von Komponenten, wie in 4 an einem Beispiel von Verarbeitungskomponenten dargestellt. Die Verhaltenserweiterung im Sinne dieser Erfindung ermöglicht das Zufügen weiterer Ports, Methoden und Attribute zu einer Komponente. Verhaltenserweiterung ist somit äquivalent zum Spezialisierungskonzept in objektorientierten Programmiersprachen (z.B. Java), d.h. eine Superkomponente wird bzgl. ihrer Schnittstellen erweitert zu einer oder mehrerer (konkreterer) Subtypen dieser Komponente. Letzteres wird graphisch durch einen unidirektionalen Pfeil von Subtypkomponente nach Superkomponente dargestellt.There is the possibility of behavioral extension of components, as in 4 on an example of processing components. The behavioral extension in the sense of this invention makes it possible to add further ports, methods and attributes to a component. Behavioral extension is therefore equivalent to the specialization concept in object-oriented programming languages (eg Java), ie a super-component is extended regarding its interfaces to one or more (more concrete) subtypes of this component. The latter is represented graphically by a unidirectional arrow from subtype component to super component.

Verhaltenserweiterung kann sowohl für Verarbeitungs- als auch für Kommunikationskomponenten angewendet werden. Die hier beschriebene formale Modellierungsmethodik definiert die „extends" Relation als Spezifikationsprimitiv für die Verhaltenserweiterung. Mathematisch korrekt (siehe 4): Ein Subtyp einer Komponente A (z.B. MEM) ist entweder die Komponente selbst oder jede Komponente A' (z.B. ObstacleProvision), die mittels einer ununterbrochenen Folge von „extends" Relationen mit A verbunden ist.Behavior extension can be applied to both processing and communication components. The formal modeling methodology described here defines the "extends" relation as the specification primitive for the behavioral extension, mathematically correct (see 4 ): A subtype of a component A (eg MEM) is either the component itself or each component A '(eg ObstacleProvision), which is connected to A by means of an uninterrupted sequence of "extends" relations.

4. Beschreibung von (Architektur-)Schichten4. Description of (architectural) layers

Dies betrifft die Möglichkeit der Beschreibung einer Architektur mittels Schichten (engl. Layer), welche eine Menge von Komponenten in die zwei Klassen Plattformkomponenten („Platform Building Blocks") und Applikationskomponenten („Applicati on Building Blocks") unterteilen (5). Die Klasse Plattformkomponenten enthält dabei all jene Komponenten, aus denen eine konkrete Verarbeitungsplattform (im Sinne eines Computer-Netzwerkes bestehend aus Hardware und Software, wobei unter letzterem insbesondere das Betriebssystem zu fassen ist) zusammengesetzt werden kann. Die Klasse Applikationskomponenten beinhaltet dagegen alle Komponenten, aus denen plattform-konforme Applikationen erstellt werden können. Mögliche Bindungen von Applikationskomponenten auf Plattformkomponenten sind Bestandteil der Beschreibung der Plattformkomponenten und werden mittels „logischer" (oder virtueller) Unterkomponenten von Plattformkomponenten dargestellt (graphische Repräsentation mittels gestricheltem Rand).This concerns the possibility of describing an architecture by means of layers, which subdivide a set of components into the two classes "platform building blocks" and "application building blocks" ( 5 ). The class platform components contains all those components from which a concrete processing platform (in the sense of a computer network consisting of hardware and software, the latter in particular the operating system is to be taken) can be put together. In contrast, the class Application Components contains all components from which platform-compliant applications can be created. Possible bindings of application components to platform components are part of the description of the platform components and are represented by means of "logical" (or virtual) subcomponents of platform components (graphical representation by means of a dashed edge).

Zum Zweck der besseren Verständlichkeit sind in den 6 und 7 jeweils die Beschreibung einer möglichen Applikation sowie einer Plattform dargestellt, welche aus obiger Schichtendarstellung abgeleitet wurden.For the purpose of better understanding are in the 6 and 7 in each case the description of a possible application and a platform shown, which were derived from the above layer representation.

5. Beschreibung der Applikationsbindung5. Description of the application binding

Dies betrifft die Beschreibung verschiedener Varianten der Zuordnung (Bindung) einer Applikation bestehend aus Applikationskomponenten auf eine Plattform bestehend aus Plattformkomponenten. Ein solches Binding ist nur möglich, wenn alle Applikationskomponenten entweder als logische Unterkomponente einer Komponente in der Plattform existieren oder von einer solchen Unterkomponente mittels Verhaltenserweiterung abgeleitet wurden.This concerns the description of different variants of the assignment (Binding) of an application consisting of application components on a platform consisting of platform components. Such Binding is only possible if all application components either as a logical subcomponent a component in the platform exist or from such Subcomponent derived by means of behavioral extension.

Nachfolgend ist beispielhaft ein mögliches Bindings einer Applikation auf eine Plattform dargestellt und erläutert. Eine graphische Darstellung hierzu zeigt 8, wobei darauf hinzuweisen ist, dass dort im Interesse der Übersichtlichkeit nur eine partielle Bindung der Applikation auf die Plattform dargestellt wurde. Eine mögliche vollständige Bindung könnte dagegen wie folgt aussehen:

  • 1) Prozesse „TerrainProvision" und „ObstacleProvision" werden auf die Plattformkomponente „MMM" gebunden, da nur diese Plattformkomponente Applikationsprozesse mit einem Speicher-API (MEM) ausführen kann. Dies sind, gemäß 4, all jene Applikationsprozesse, die von Prozess „MMMProcess" mittels Verhaltenserweiterung abgeleitet wurden.
  • 2) Der Prozess „GraphicProcessing" wird auf Plattformkomponente „GPM" gebunden, da nur diese Plattformkomponente Applikationsprozesse mit Graphik-API ausführen kann. Wie 4 entnommen werden kann, wurde der Prozess "Graphic Processing" mittels Verhaltenserweiterung vom Prozess GPMProcess abgeleitet.
  • 3) Die Prozesse „ProximityWarning" und „VisionControl" können auf die Plattformkomponenten MMM, DPM oder GPM gebunden werden, da Applikationsprozesse welche von Prozess „DPMProcess" abgeleitet wurden (siehe 4) auf allen 3 Plattformkomponenten ausgeführt werden können (die Plattformkomponenten „MMM", „DPM" oder „GPM" beinhalten jeweils logische Unterkomponenten vom Typ DPMProcess). Im Interesse einer gleichmäßigen Lastverteilung wird jedoch eine Bindung auf Plattformkomponente „DPM" erfolgen (Prinzip des statischen „Load Balancing").
  • 4) Nach erfolgter Bindung der Verarbeitungskomponenten der Applikation auf die Plattform erfolgt die Bindung der zughörigen Kommunikationskomponenten. Nachfolgende Beschreibung beruht auf der Annahme, dass die beiden Prozesse „ProximityWarning" und „VisionControl" auf die Plattformkomponente „DPM" gebunden wurden.
  • 5) Die Kommunikationskomponente „LocalVirtualChannel" (LVC) zwischen den Prozessen „ProximityWarning" und „VisionControl" wird wird auf die Plattformkomponente „DPM" gebunden.
  • 6) Alle weiteren Kommunikationskomponenten der Applikation sind „GlobalVirtualChannels" (GVC), welche eine Kommunikation zwischen Applikationsprozessen auf verschiedenen Plattformkomponenten ermöglichen. GVCs können nicht direkt gebunden werden, da entsprechende „logische" Komponenten nicht Bestandteil der Modulspezifikation sind (siehe 3 für die Plattformkomponente DPM). Gebunden werden statt dessen die beiden Unterkomponenten „VCStub" eines GVC (sieh 5). Wie in 8 dargestellt, erfolgt diese Bindung verteilt auf die beiden Plattformkomponenten MMM, DPM, welche die beiden über den GVC kommunizierenden Verarbeitungsfunktionen der Applikation ausführen.
  • 7) Falls die Zuordnung einer Applikationskomponente auf eine Plattformkomponente nicht zulässig ist, kann geprüft werden, ob die Bindung einer Vaterkomponente der Applikationskomponente zulässig ist. Beispiel hierfür ist der Pro zess "TerrainProvision", der als strukturell verfeinerte Vaterkomponente (siehe z.B. 4) auf die Plattformkomponente MMM gebunden wird, wobei alle Unterkomponenten der Vaterkomponente implizit mit gebunden werden.
The following example illustrates a possible binding of an application to a platform and explains it. A graphical representation shows this 8th It should be noted that in the interests of clarity, only a partial binding of the application to the platform was presented. A possible complete binding might look like this:
  • 1) Processes "TerrainProvision" and "ObstacleProvision" are bound to the platform component "MMM", since only this platform component can execute application processes with a storage API (MEM) 4 , all those application processes derived from the "MMMProcess" process by means of behavior extension.
  • 2) The "GraphicProcessing" process is bound to platform component "GPM", since only this platform component can execute application processes with graphics API. As 4 can be taken, the process "Graphic Processing" was derived by means of behavior extension of the process GPMProcess.
  • 3) The processes "ProximityWarning" and "VisionControl" can be linked to the platform components MMM, DPM or GPM, as application processes derived from process "DPMProcess" (see 4 ) can be executed on all three platform components (the platform components "MMM", "DPM" or "GPM" each contain logical subcomponents of the type DPMProcess) However, in the interests of uniform load distribution, binding will take place on platform component "DPM" (principle of static) "Load balancing").
  • 4) After the processing components of the application have been linked to the platform, binding of the associated communication components takes place. The following description is based on the assumption that the two processes "ProximityWarning" and "VisionControl" were bound to the platform component "DPM".
  • 5) The communication component "LocalVirtualChannel" (LVC) between the processes "ProximityWarning" and "VisionControl" is bound to the platform component "DPM".
  • 6) All other communication components of the application are "GlobalVirtualChannels" (GVC), which enable communication between application processes on different platform components.GVCs can not be bound directly, because corresponding "logical" components are not part of the module specification (see 3 for the platform component DPM). Instead, the two subcomponents "VCStub" of a GVC are bound (see 5 ). As in 8th As shown, this binding is distributed over the two platform components MMM, DPM, which execute the two processing functions of the application communicating via the GVC.
  • 7) If the assignment of an application component to a platform component is not permitted, it can be checked whether the binding of a parent component of the application component is permitted. An example of this is the process "TerrainProvision", which is a structurally refined father component (see eg 4 ) is bound to the platform component MMM, with all subcomponents of the parent component being implicitly bound.

Hinweis: 8 ist eine Komposition aus den 10 und 11 und dient lediglich der Darstellung der Bindung der Komponenten der funktionalen Architektur (Applikation) über die Komponenten der physikalischen Architektur (Plattform). Für graphische Details hinsichtlich Applikations- und Plattformdesign wird auf die 10 und 11 verwiesen.Note: 8th is a composition of the 10 and 11 and serves merely to illustrate the binding of the components of the functional architecture (application) via the components of the physical architecture (platform). For graphical details in terms of application and platform design is on the 10 and 11 directed.

Konfigurationsalgorithmus (9 bis 14)Configuration algorithm ( 9 to 14 )

Eine generelle Übersicht über das erfindungsgemäße Konfigurationsverfahren und der Abhängigkeiten zwischen den einzelnen Schritten ist in 9 gegeben. Die einzelnen Schritte beschreiben die Abbildung (Bindung) der Applikationskomponente (funktionale Architektur) auf eine Plattformkomponente (physikalische Architektur) und werden in den folgenden Abschnitten detailliert beschrieben.A general overview of the configuration method according to the invention and the dependencies between the individual steps is given in FIG 9 given. The individual steps describe the mapping (binding) of the application component (functional architecture) to a platform component (physical architecture) and are described in detail in the following sections.

Schritt 1Step 1

In einem ersten Schritt wird die Spezifikation der funktionalen Systemarchitektur (Applikation AK) sowie der physikalische Systemarchitektur (Plattform PK) zur Verfügung gestellt (siehe 9). Deren Beschreibung basiert auf der oben dargelegten Spezifikationsmethodik.In a first step, the specification of the functional system architecture (application AK) and the physical system architecture (platform PK) are provided (see 9 ). Their description is based on the specification methodology outlined above.

Schritt 2step 2

Zielsetzung dieses Schrittes ist die Bestimmung der Menge der logischen Komponenten, die von der Plattformkomponente angeboten werden. Eine beispielhafte Ausführung ist in 10 dargestellt.
Input: Plattformkomponente (PK)
Output: die Menge PLK (logische Komponenten der Plattform),
eine Abbildung der logischen Komponenten auf eine Menge möglicher Vaterkomponenten fVK()

  • a. die Menge PLK und die Abbildung fVK() sind anfangs leer, d.h. PLK = {} und fVK() = {}
  • b. die Menge PK enthält die noch nicht auf logische Komponenten untersuchten Komponenten und enthält anfangs nur die PK, d.h. PK = {PK}
  • c. solange die Menge (1) PK nicht leer ist (PK ≠⁣ {}) wähle eine Komponente K aus PK und entferne sie aus PK, (2) PK leer ist (PK ≡ {}) gehe zu f.
  • d. für jede (wenn vorhanden) Unterkomponente (UK) von K untersuche ob sie (1) eine echte Unterkomponente ist, dann füge sie zu PK hinzu (PK = PK ∪ UK), (2) eine logische Unterkomponente ist, dann füge sie zur Menge PLK hinzu (PLK = PLK ∪ UK) hinzu, weiterhin füge K zu fVK(UK) hinzu (fVK(UK) = fVK(UK) ∪ K)
  • e. gehe zu c.
  • f. falls PLK leer ist (PLK ={}), dann kann auf diese Plattformkomponente nichts gebunden werden (Fehler), ansonsten enthält PLK die Menge der logischen Komponenten von PK
The objective of this step is to determine the set of logical components offered by the platform component. An exemplary embodiment is in 10 shown.
Input: Platform Component (PK)
Output: the set P LK (logical components of the platform),
a mapping of the logical components to a set of possible father components f VK ()
  • a. the set P LK and the mapping f VK () are initially empty, ie P LK = {} and f VK () = {}
  • b. the set P K contains the components not yet examined for logical components and initially contains only the PK, ie P K = {PK}
  • c. as long as the set (1) P K is not empty (P K ≠ ⁣ {}) choose a component K from P K and remove it from P K , (2) P K is empty (P K ≡ {}) go to f ,
  • d. For each (if any) subcomponent (UK) of K, examine whether it is (1) a true subcomponent, then add it to P K (P K = P K ∪ UK), (2) is a logical subcomponent, then add add them to the set P LK (P LK = P LK ∪ UK), add K to f VK (UK) (f VK (UK) = f VK (UK) ∪ K)
  • e. go to c.
  • f. if P LK is empty (P LK = {}) then nothing can be tied to this platform component (error), otherwise P LK contains the set of logical components of PK

Schritt 3step 3

Zielsetzung dieses Schrittes ist die Bestimmung der Menge der zu bindenden Applikationsunterkomponenten ABK. Eine beispielhafte Ausführung ist in 11 dargestellt.
Input: Applikationskomponente AK und PLK
Output: die Menge ABK (die zu bindenden Applikationsunterkomponenten)

  • a. die Menge ABK ist anfangs leer, d.h. ABK = {}
  • b. die Menge AK enthält die noch nicht auf Bindbarkeit untersuchten Komponenten und enthält anfangs nur die AK, d.h. AK = {AK}
  • c. solange die Menge (1) AK nicht leer ist (AK ≠⁣ {}) wähle eine Komponente A aus AK und entferne sie aus AK, (2) AK leer ist (AK ≡ {}) gehe zu e.
  • d. falls die Komponente A (1) ein Subtyp einer Komponente in PLK ist, füge A zu ABK hinzu (ABK = ABK ∪ A), sonst (2) echte Unterkomponenten besitzt, füge alle echten Unterkomponenten von A in AK ein, sonst (3) auf der Plattform nicht bindbar (Fehler)
  • e. die Menge ABK enthält alle auf die Plattform zu bindenden Komponenten
The objective of this step is to determine the amount of application subcomponents A BK to be bound . An exemplary embodiment is in 11 shown.
Input: Application component AK and P LK
Output: the set A BK (the application subcomponents to bind)
  • a. the set A BK is initially empty, ie A BK = {}
  • b. the set A K contains the components not yet examined for bondability and initially contains only the AK, ie A K = {AK}
  • c. as long as the set (1) A K is not empty (A K ≠ ⁣ {}) choose a component A from A K and remove it from A K , (2) A K is empty (A K ≡ {}) go to e ,
  • d. if component A (1) is a subtype of a component in P LK , add A to A BK (A BK = A BK ∪ A), otherwise (2) has true subcomponents, add all true subcomponents from A to A K , otherwise (3) not bindable on the platform (error)
  • e. the set A BK contains all components to be bound to the platform

Schritt 4Step 4

Zielsetzung dieses Schrittes ist die Ermittlung unmittelbarer Bindungsnebenbedingungen (Bindungsconstraints, insbesondere aufgrund notwendiger lokaler Kontroll← und Datenflüsse – lokal bedeutet hier auf dem selben Prozessor und somit im selben Speicher (On-Board)) durch Clusterbildung, d.h. aus ABK die Menge der zu bindenden Cluster ABC ermitteln. Eine beispielhafte Ausführung ist in 12 dargestellt. Ein Cluster sind solche Applikationskomponenten, die zwingend auf dieselbe Plattformkomponente gebunden werden müssen.
Input: ABK (die zu bindenden Applikationsunterkomponenten)
Output: ABC (Menge der zu bindenden Cluster von Applikationsunterkomponenten)

  • a. die Menge ABC ist anfangs leer, d.h. ABC = {}
  • b. solange die Menge (1) ABK nicht leer (ABK ≠⁣ {}) ist, wähle eine Komponente A aus ABK und entferne sie aus ABK, sonst (2) ABK leer ist (ABK ≡ {}) gehe zu f.
  • c. füge A in die Menge ACluster ein (ACluster = {A})
  • d. füge alle mit A über Kontrollflüsse (requires/provides) oder Datenflüsse (in/out/inout) verbundene Komponenten in ACluster ein, entferne diese Komponenten aus ABK, ACluster enthält damit alle mit A verbunden Komponenten (transitive Hülle)
  • e. füge ACluster in ABC ein und gehe zu b.
  • f. die Menge ABC einhält alle zusammenhängenden Cluster der Applikationskomponente, wobei jeder Cluster aus auf die Plattform bindbaren Komponenten besteht
The objective of this step is the determination of immediate binding constraints (binding constraints, especially due to necessary local control ← and data flows - locally means here on the same processor and thus in the same memory (on-board)) by clustering, ie from A BK the amount of binding Determine cluster A BC . An exemplary embodiment is in 12 shown. A cluster is an application component that must be bound to the same platform component.
Input: A BK (the application subcomponents to be bound)
Output: A BC (set of clusters of application subcomponents to bind)
  • a. the set A BC is initially empty, ie A BC = {}
  • b. as long as the set (1) ABK is not empty (ABK ≠ ⁣ {}), select a component A from ABK and remove it from ABK, otherwise (2) ABK is empty (ABK ≡ {}) go to f.
  • c. add A to the set A cluster (A cluster = {A})
  • d. insert all components connected to A via control flows (requires / provides) or data flows (in / out / inout) into A cluster , remove these components A BK , A cluster contains all components connected to A (transitive shell)
  • e. insert A Cluster in A BC and go to b.
  • f. the set A BC includes all contiguous clusters of the application component, each cluster consisting of components bindable to the platform

Schritt 5Step 5

Ziel dieses Schrittes ist die Ermittlung einer initialen Bindung der Cluster auf die Plattform. Eine beispielhafte Ausführung ist in 13 dargestellt (zu den graphischen Details der beiden Komponenten siehe 10 und 11).
Input: fVK() (Abbildung von logischen Komponenten zu ihren Vaterkomponenten),
ABC (Menge der zu bindenden Cluster von Applikationsunterkomponenten)
Output: S (Systemvariante bestehend aus zwei Unterkomponenten AK und PK, wobei die AK vollständig auf die PK gebunden ist)

  • a. Erzeuge S, mit zwei echten Unterkomponenten AK und PK
  • b. solange die Menge ABC (1) nicht leer (ABC ≠⁣ {}) ist, wähle einen Cluster C aus ABC und entferne ihn aus ABC, sonst (2) leer ist (ABC ≡ {}) gehe zu f.
  • c. wähle aus C eine Komponente K aus, setzte die Menge M gleich fVK(K)
  • d. solange die Menge M (1) nicht leer (M ≠⁣ {}) ist, wähle eine Komponente VK aus M und entferne sie aus M, sonst (2) leer ist (M ≡ {}), dann ist es nicht möglich den Cluster C auf die PK zu binden (Fehler) oder falls bereits Cluster der Plattformunterkomponente zugeordnet wurden und diese potentiell auch auf andere Plattformunterkomponenten bindbar sind (durch andere Wahl in [d.(1)] oder [b.(1)]), dann kann durch back-tracking diese Wahl rückgängig gemacht werden und erneut versucht werden, C zu binden
  • e. wenn die VK (1) genügend ungebundene logische Unterkomponenten besitzt, um alle Komponenten des Clusters C diesen logischen Unterkomponenten zuzuordnen, dann binde (verlinke) die Komponenten von C mit den entsprechenden logischen Unterkomponenten von VK und gehe zu b. (2) nicht genügend ungebundene logische Unterkomponenten besitzt, um alle Komponenten des Clusters C diesen logischen Unterkomponenten zuzuordnen, dann gehe zu d.
  • f. S ist eine vollständig gebundene Systemvariante
The goal of this step is to determine an initial binding of the clusters to the platform. An exemplary embodiment is in 13 shown (for the graphic details of the two components see 10 and 11 ).
Input: f VK () (mapping of logical components to their parent components),
A BC (set of clusters of application subcomponents to bind)
Output: S (system variant consisting of two subcomponents AK and PK, whereby the AK is completely bound to the PK)
  • a. Create S, with two real subcomponents AK and PK
  • b. as long as the set A BC (1) is not empty (A BC ≠ ⁣ {}), choose a cluster C from A BC and remove it from A BC , otherwise (2) is empty (A BC ≡ {}) go to f ,
  • c. choose from C a component K, set the set M equal to f VK (K)
  • d. as long as the set M (1) is not empty (M ≠ ⁣ {}), choose a component VK from M and remove it from M, otherwise (2) is empty (M ≡ {}), then it is not possible the cluster C bind to the PK (errors) or if clusters have already been mapped to the platform subcomponent and they are potentially bindable to other platform subcomponents (by other choice in [d. (1)] or [b. (1)]), then This choice can be undone by back-tracking and trying to bind C again
  • e. if the VK (1) has enough unbound logical subcomponents to map all components of cluster C to these logical subcomponents, then link (link) the components of C to the corresponding logical subcomponents of VK and go to b. (2) does not have enough unbound logical subcomponents to map all components of cluster C to these logical subcomponents, then go to d.
  • f. S is a fully bound system variant

Schritt 6Step 6

In diesem Schritt wird die Erfüllung der funktionalen und nicht-funktionalen Eigenschaften der Systemvariante überprüft.
Input: S (vollständig gebundene Systemvariante)
Output: S (gültige Systemvariante, d.h. erfüllt die funktionalen und nicht-funktionalen Eigenschaften)

  • a. Überprüfung kumulativer nicht-funktionaler Eigenschaften, z.B. (1) Speicheranforderung: Jede gebundene Applikationsunterkomponente (A1, A2, ...) kann Attribute mit Speicheranforderungen (Stack, Heap, etc.) definieren. Die Speicheranforderung an die Plattform ist die Summe aller entsprechenden Speicheranforderungen der Applikationsunterkomponenten, die auf eine logische Plattformkomponente (siehe Schritt 5e.(1)) gebunden sind (StackSum = Stack(A1) + Stack(A2) + ...). Die direkte Plattformvaterkomponente oder eine ihrer Vaterkomponenten kann eine maximale Speichergröße (z.B.: MaxHeap, etc.) definieren, sodass überprüft werden kann, ob überhaupt genügend Speicher für die Applikationskomponenten auf der Plattform zur Verfügung steht. Falls nicht genügend Speicher zur Verfügung steht, ist diese nicht-funktionale Eigenschaft nicht erfüllt und damit die Systemvariante ungültig (Fehler). Analog zu Schritt 5d.(2) kann ein back-tracking durchgeführt werden, um eine neue Systemvariante zu erhalten. (2) Lasten: Jede Applikationsunterkomponente AUK definiert einen lokalen Taskgraphen gemäß [1, 2] mit den Tasks T(AUK) = T1, ..., Tn. Durch der Verbindung der AUKs entsteht ein globaler Taskgraph. Daraus lässt sich die Periode der entsprechenden Tasks ableiten. Sobald eine Applikation auf eine logische Plattformkomponente PFK gebunden ist (siehe Schritt 5e.(1)) lassen sich die Ausführungszeiten der Tasks auf dieser PFK ermitteln. Die Last eines Tasks T ist dann das Verhältnis zwischen Ausführungszeit und Periode (Last(T) = Zeit(T, PFK)/Periode(T)). Die Menge der auf einer PFK gebundenen Tasks ist gegeben durch die Menge aller Tasks der gebundenen Applikationskomponenten (T(PFK) = T(AUK1) + T(AUK2) + ...). Somit lässt sich die Gesamtlast einer PFK durch Summierung aller Teillasten ermitteln (Last(PFK) = Last(T1) + Last(T2) + ...). Ist diese Last größer 1, so ist die PFK überlastet und die Systemvariante ungültig (Fehler). Analog zu Schritt 5d.(2) kann ein Back-Tracking durchgeführt werden, um eine neue Systemvariante zu erhalten. Es ist darauf hinzuweisen, dass kumulative Eigenschaften bereits in Schritt 5e. als zusätzliche Bedingung überprüft werden können (d.h. genügend ungebunden logische Komponenten UND entsprechende kumulative Eigenschaft erfüllt). Dies kann von Vorteil sein, da sie sehr schnell überprüfbar sind.
  • b. Überprüfung zeitlicher nicht-funktionaler Eigenschaften z.B. Analyse von WCETs (Worst Case Execution Times = Ausführungs/Durchlaufzeiten im schlechtesten Fall) und BCETs (Best Case Execution Times Ausführungs/Durchlaufzeiten im besten Fall) nach der Methode beschrieben in [1, 2], wobei das Verfahren an die in Anhang B beschriebene Modellierung angepasst wird: (1) die Plattformkomponenten definieren jeweils ein WCET und BCET Attribut, welche mit jeweils einer Evaluierungsfunktion verbunden sind. (2) diese Evaluierungsfunktionen besitzen als Eingabeparameter den Task T. Dieser Task T entspricht einem auf der Plattformkomponente gebunden Task. (3) Es existieren verschiedene Evaluierungsfunktionen in der Datenbank für die verschiedenen Scheduling Verfahren (z.B. RMS, TDMA, etc.) Nach der Berechnung der BCETs und WCETs wird die Einhaltung von Deadlines (Zeit zwischen zwei Ereignissen, z.B. von der Aktivierung eines Task bis zur Deaktivierung) und die Überschreitung der Periode durch die WCET eines Task (WCET muss kleiner als Periode sein) überprüft. Bei der Verletzung einer dieser beiden Eigenschaften wird (1) entweder: die Priorität (bei RMS) bzw. der Timeslot (bei TDMA) des Tasks erhöht und erneut Schritt [b.] durchlaufen, (2) oder: Analog zu Schritt 5d.(2) kann ein Back-Tracking durchgeführt werden, um eine neue Systemvariante zu erhalten. (3) oder: die Systemvariante wird als ungültig zurückgewiesen (Fehler).
  • c. Überprüfung funktionaler Eigenschaften z.B.: Deadlock- und Lifelock-Freiheit, Erreichbarkeit von Systemzuständen. Basierend auf der formalen Beschreibung des Komponentenmodells (Prozessalgebra gemäß [3]) wird eine statische Analyse der Systemvariante durchgeführt, die mögliche Deadlock- und Lifelockzustän de identifiziert. Falls Deadlocks, Lifelocks existieren bzw. geforderte Systemzustände nicht erreicht werden, ist die Systemvariante ungültig (Fehler). Diese Analyse kann bereits (teilweise) vor Schritt 2 durchgeführt werden
  • d. Wenn a., b. und c. erfolgreich durchlaufen sind, ist die Systemvariante gültig
In this step, the fulfillment of the functional and non-functional properties of the system variant is checked.
Input: S (fully bound system variant)
Output: S (valid system variant, ie fulfills the functional and non-functional properties)
  • a. Review of cumulative non-functional properties, eg (1) memory requirement: Each bound application subcomponent (A1, A2, ...) can define attributes with memory requirements (stack, heap, etc.). The memory requirement to the platform is the sum of all corresponding memory requirements of the application subcomponents bound to a logical platform component (see step 5e (1)) (Stack Sum = Stack (A1) + Stack (A2) + ...). The direct platform father component or one of its parent components can define a maximum memory size (eg, MaxHeap, etc.) so that it can be checked if there is enough memory available for the application components on the platform at all. If not enough memory is available, this non-functional property is not fulfilled and the system variant is invalid (error). Analogous to step 5d (2), a back-tracking can be carried out in order to obtain a new system variant. (2) Loads: Each application subcomponent AUK defines a local task graph according to [1, 2] with the tasks T (AUK) = T 1 , ..., T n . The combination of the AUKs creates a global task graph. From this the period of the corresponding tasks can be derived. As soon as an application is bound to a logical platform component PFK (see step 5e (1)), the execution times of the tasks can be determined on this PFK. The load of a task T is then the relationship between execution time and period (load (T) = time (T, PFK) / period (T)). The set of tasks bound on a PFK is given by the set of all tasks of the bound application components (T (PFK) = T (AUK1) + T (AUK2) + ...). Thus, the total load of a PFK can be determined by summing all partial loads (load (PFK) = load (T1) + load (T2) + ...). If this load is greater than 1, the PFK is overloaded and the system variant is invalid (error). Analogous to step 5d (2), back-tracking can be carried out in order to obtain a new system variant. It should be noted that cumulative properties already in step 5e. can be checked as an additional condition (ie enough unbound logical components AND corresponding cumulative property met). This can be an advantage as they can be checked very quickly.
  • b. Review of temporal non-functional properties eg analysis of WCETs (Worst Case Execution Times) and BCETs (Best Case Execution Times execution / lead times in the best case) according to the method described in [1, 2], where the Is adapted to the modeling described in Appendix B: (1) the platform components each define a WCET and BCET attribute, each associated with an evaluation function. (2) these evaluation functions have the task T as input parameters. This task T corresponds to a task bound on the platform component. (3) There are various evaluation functions in the database for the different scheduling methods (eg RMS, TDMA, etc.) After the BCETs and WCETs have been calculated, deadlines are observed (time between two events, eg from the activation of a task to the Deactivation) and the exceeding of the period by the WCET of a task (WCET must be less than period). If either of these two properties are violated, either (1) the priority (in RMS) or timeslot (in the case of TDMA) of the task is incremented, and step [b.] Is repeated, (2) or: analogously to step 5d. 2) back-tracking can be performed to get a new system variant. (3) or: the system variant is rejected as invalid (error).
  • c. Check of functional properties eg deadlock and Lifelock freedom, accessibility of system states. Based on the formal description of the component model (process algebra according to [3]), a static analysis of the system variant is performed, which identifies possible deadlock and Lifelockzustän de. If deadlocks, Lifelocks exist or required System statuses are not reached, the system variant is invalid (error). This analysis may already be performed (in part) before step 2
  • d. If a., B. and c. have passed successfully, the system variant is valid

Schritt 7Step 7

Das Ziel dieses Schrittes ist die Transformation der verifizierten Systemvariante in eine Systemtabelle. Eine beispielhafte Ausführung ist in 14 dargestellt.
Input: SVER (gültige Systemvariante)
tf() (eine Transformationsvorschrift von Komponenten und Attributen der Systemvariante in Elemente der Systemtabelle)
Output: ST (Systemtabelle)
a. ST = tf(S)
The goal of this step is to transform the verified system variant into a system table. An exemplary embodiment is in 14 shown.
Input: S VER (valid system variant)
tf () (a transformation specification of components and attributes of the system variant in elements of the system table)
Output: ST (system table)
a. ST = tf (S)

Referenzenreferences

  • [1] Razvan Racu, Kai Richter, Rolf Ernst. Calculating Task Output Event Models to Reduce Distributed System Cost. In GI/ITG/GMM Workshop Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen, pages 1–10. Kaiserslautern, Germany, February 2004 .[1] Razvan Racu, Kai Richter, Rolf Ernst. Calculating Task Output Event Models to Reduce Distributed System Cost. In GI / ITG / GMM Workshop Methods and Description Languages for Modeling and Verifying Circuits and Systems, pages 1-10. Kaiserslautern, Germany, February 2004 ,
  • [2] R. Henia, A. Hamman, M. Jersak, R. Racu, K. Richter, R. Ernst. System Level Performance Analysis – the SymTA/S Approach. IEEE Proceedings Computers and Digital Techniques, 2005 .[2] R. Henia, A. Hamman, M. Jersak, R. Racu, K. Richter, R. Ernst. System Level Performance Analysis - the SymTA / S Approach. IEEE Proceedings Computers and Digital Techniques, 2005 ,
  • [3] S. Förster, M. Fischer, A. Windisch, B. Balser, D. Monjau. A New Specification Methodology for Embedded Systems based an the Pi-Calculus Process Algebra. In Proceedings of the 14th International IEEE Workshop an Rapid System Prototyping (RSP), San Diego, USA, 2003 .[3] S. Forster, M. Fischer, A. Windisch, B. Balser, D. Monjau. A New Specification Methodology for Embedded Systems based on the Pi-Calculus Process Algebra. In Proceedings of the 14th International IEEE Workshop on Rapid System Prototyping (RSP), San Diego, USA, 2003 ,

Claims (2)

Automatisches, modellbasiertes Verfahren zur Integration einer funktionalen Systemarchitektur mit einer physikalischen Systemarchitektur zu einem elektronischen System, insbesondere einem Avioniksystem, wobei die funktionale Systemarchitektur einzelne Applikationskomponenten umfasst und die physikalische Systemarchitektur einzelne Plattformkomponenten umfasst. Eine Zuordnung von Applikationskomponenten auf Plattformkomponenten wird derart vorgenommen, dass I. die Zuordnung vollständig ist II. der funktionale Ablauf der funktionalen Systemarchitektur gewährleistet ist III. die nicht-funktionalen Anforderungen an das Gesamtsystem erfüllt werden. Das Verfahren ist gekennzeichnet durch folgende Verfahrensschritte: in einem ersten Schritt wird die Spezifikation der funktionalen Systemarchitektur sowie der physikalische Systemarchitektur zur Verfügung gestellt, welche folgende Eigenschaften aufweisen: I. Plattformkomponenten als auch Applikationskomponenten bilden eine Hierarchie, bei der Unterkomponenten eine strukturelle Verfeinerung der zugehörigen Vaterkomponenten darstellen, II. mittels Verhaltenserweiterung von Plattformkomponenten als auch von Applikationskomponenten können diesen weitere Anschlüsse, Funktionen und Attribute hinzugefügt werden, III. die Plattformkomponenten weisen so genannte logische Plattformunterkomponenten als Platzhalter für später einzufügende Applikationskomponenten auf, in einem zweiten Schritt wird die Menge der logischen Plattformunterkomponenten der physikalischen Systemarchitektur bestimmt, in einem dritten Schritt wird die Menge der der physikalischen Systemarchitektur zuzuordnenden Applikationskomponenten bestimmt, wobei die Zuordnung einer Applikationskomponente auf eine Plattformkomponente zulässig ist, wenn I. eine Applikationskomponente auch als logische Plattformunterkomponente der Plattformkomponente existiert, oder II. eine Applikationskomponente von einer logischen Plattformunterkomponente der Plattformkomponente durch Verhaltenserweiterung abgeleitet ist, in einem vierten Schritt wird die Menge der Cluster von Applikationskomponenten bestimmt, wobei ein Cluster solche Applikationskomponenten umfasst, die derselben Plattformkomponente zugeordnet werden müssen, in einem fünften Schritt eine erste Systemvariante durch vollständige Zuordnung der Cluster von Applikationskomponenten auf die Plattformkomponenten erzeugt wird, in einem sechsten Schritt überprüft wird, ob die erzeugte Systemvariante vorgegebene funktionale und nicht-funktionale Anforderungen erfüllt; fällt die Prüfung negativ aus, werden durch Änderung der Zuordnung der Cluster auf die Plattformkomponenten neue Systemvarianten erzeugt, uns zwar solange, bis eine zulässige Systemvariante vorliegt, in einem siebten Schritt die zulässige Systemvariante in eine Systemtabelle für das elektronische System transformiert wird.Automatic, model-based integration process a functional system architecture with a physical system architecture to an electronic system, in particular an avionics system, where the functional system architecture is a single application component includes and the physical system architecture individual platform components includes. An assignment of application components to platform components is made such that I. the assignment is complete II. Ensures the functional flow of the functional system architecture is III. the non-functional requirements for the entire system Fulfills become. The method is characterized by the following method steps: in The first step will be the specification of the functional system architecture as well as the physical system architecture provided, which have the following properties: I. Platform Components as well as application components form a hierarchy in which Subcomponents a structural refinement of the associated parent components represent II. By means of behavior extension of platform components As well as application components, these can be further connections, functions and attributes added become, III. the platform components have so-called logical Platform subcomponents as placeholders for later to be inserted application components on, in a second step, the set of logical Determines platform subcomponents of the physical system architecture in a third step is the amount of the physical system architecture determined to be assigned application components, the assignment of a Application component is allowed on a platform component, if I. an application component as a logical platform subcomponent the platform component exists, or II. An application component from a logical platform subcomponent of the platform component Behavior extension is derived, in a fourth step the set of clusters of application components is determined wherein a cluster comprises such application components, the same Must be assigned to the platform component, in a fifth step a first system variant by complete assignment of the clusters generated by application components on the platform components becomes, In a sixth step it is checked whether the generated system variant meets given functional and non-functional requirements; it falls exam Negative, are by change the assignment of the clusters to the platform components new system variants generated, until we have a valid system variant, in a seventh step the permissible System variant transformed into a system table for the electronic system becomes. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass im dritten Schritt, falls die Zuordnung einer Applikationskomponente auf eine Plattformkomponente nicht zulässig ist, geprüft wird, ob die Bindung einer Vaterkomponente der Applikationskomponente zulässig ist.Method according to claim 1, characterized in that that in the third step, if the assignment of an application component is not allowed on a platform component is checked, whether the binding of a parent component of the application component permissible is.
DE102006040698A 2006-08-30 2006-08-30 Automated, model-based method for integrating a functional system architecture with a physical system architecture to an electronic system Withdrawn DE102006040698A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102006040698A DE102006040698A1 (en) 2006-08-30 2006-08-30 Automated, model-based method for integrating a functional system architecture with a physical system architecture to an electronic system
GB0716690A GB2441432A (en) 2006-08-30 2007-08-28 An Automated Model Based Procedure for Integrating a Functional with a Physical System Architecture to form an Electronic System.
FR0706096A FR2905491B1 (en) 2006-08-30 2007-08-30 MODEL-BASED AUTOMATIC METHOD FOR THE INTEGRATION OF A FUNCTIONAL SYSTEM ARCHITECTURE WITH A PHYSICAL SYSTEM ARCHITECTURE FOR FORMING AN ELECTRONIC SYSTEM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006040698A DE102006040698A1 (en) 2006-08-30 2006-08-30 Automated, model-based method for integrating a functional system architecture with a physical system architecture to an electronic system

Publications (1)

Publication Number Publication Date
DE102006040698A1 true DE102006040698A1 (en) 2008-03-20

Family

ID=38599341

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006040698A Withdrawn DE102006040698A1 (en) 2006-08-30 2006-08-30 Automated, model-based method for integrating a functional system architecture with a physical system architecture to an electronic system

Country Status (3)

Country Link
DE (1) DE102006040698A1 (en)
FR (1) FR2905491B1 (en)
GB (1) GB2441432A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2978265A1 (en) 2011-07-20 2013-01-25 Eads Europ Aeronautic Defence AUTOMATIC METHOD BASED ON MODELS FOR THE GENERATION OF PHYSICAL ARCHITECTURES OF SYSTEMS AND THEIR OPTIMIZATION

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289488B1 (en) * 1997-02-24 2001-09-11 Lucent Technologies Inc. Hardware-software co-synthesis of hierarchical heterogeneous distributed embedded systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870588A (en) * 1995-10-23 1999-02-09 Interuniversitair Micro-Elektronica Centrum(Imec Vzw) Design environment and a design method for hardware/software co-design
US7243330B1 (en) * 2005-04-21 2007-07-10 Xilinx, Inc. Method and apparatus for providing self-implementing hardware-software libraries
US20070162531A1 (en) * 2006-01-12 2007-07-12 Bhaskar Kota Flow transform for integrated circuit design and simulation having combined data flow, control flow, and memory flow views
US20070162268A1 (en) * 2006-01-12 2007-07-12 Bhaskar Kota Algorithmic electronic system level design platform

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289488B1 (en) * 1997-02-24 2001-09-11 Lucent Technologies Inc. Hardware-software co-synthesis of hierarchical heterogeneous distributed embedded systems

Also Published As

Publication number Publication date
GB2441432A (en) 2008-03-05
GB0716690D0 (en) 2007-10-03
FR2905491B1 (en) 2011-09-02
FR2905491A1 (en) 2008-03-07

Similar Documents

Publication Publication Date Title
DE102005014273B4 (en) Comparison of interfaces between software components
DE60017457T2 (en) PROCEDURE FOR ISOLATING AN ERROR IN ERROR MESSAGES
DE102016119320A1 (en) Method for configuring a real or virtual electronic control unit
DE10333087A1 (en) Process for the automatic decomposition of dynamic system models into sub-models
EP3285165A1 (en) Modification and simulation of the operating software of a technical system
WO2001073279A2 (en) Method and device for modelling a mechatronic system in a motor vehicle
DE10324594A1 (en) Method for providing improved simulation capabilities of a dynamic system outside of the original modeling environment
EP3306295A1 (en) Method and device for testing electronic controls, in particular for testing of automobile control systems
DE112008003511T5 (en) Integrated technical analysis process
DE102006040698A1 (en) Automated, model-based method for integrating a functional system architecture with a physical system architecture to an electronic system
DE112008003514T5 (en) Integrated technical analysis system
DE102012210482A1 (en) Method and system for migrating business process instances
EP1483745A2 (en) Device and method for assessing the safety of systems and for obtaining safety in systems, and corresponding computer program
WO2019223970A1 (en) Creating of an interdisciplinary simulation model
EP3702922A1 (en) Method for the computer-assisted validation of embedded software
DE102016115314A1 (en) Modifying and simulating the operating software of a technical system
DE102020213809A1 (en) Method for operating a control device when testing software in the control device and method for operating a test computer when testing software in a control device
WO2007107394A2 (en) Method and management system for configuring an information system
EP3783493A1 (en) Method for testing a system for a request
DE102020206327A1 (en) Method and device for testing a technical system
Balz et al. Use case-based fault tree analysis of safety-related embedded systems
DE102017212612A1 (en) Method for automatically generating tests for the software of a vehicle
EP2544090A1 (en) Computer system, computer-implemented method and computer program product for determining a pessimistic time response by an error tolerance mechanism
AT511297B1 (en) Method for generating a model of a communication task
DE102022207612A1 (en) Computer-implemented method for verifying a software component of an automated driving function

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R120 Application withdrawn or ip right abandoned

Effective date: 20110908