7 research outputs found

    Towards a Model-driven Performance Prediction Approach for Internet of Things Architectures

    Get PDF
    Indisputable, security and interoperability play major concerns in Internet of Things (IoT) architectures and applications. In this paper, however, we emphasize the role and importance of performance and scalability as additional, crucial aspects in planning and building sustainable IoT solutions. IoT architectures are complicated system-of-systems that include different developer roles, development processes, organizational units, and a multilateral governance. Its performance is often neglected during development but becomes a major concern at the end of development and results in supplemental efforts, costs, and refactoring. It should not be relied on linearly scaling for such systems only by using up-to-date technologies that may promote such behavior. Furthermore, different security or interoperability choices also have a considerable impact on performance and may result in unforeseen trade-offs. Therefore, we propose and pursue the vision of a model-driven approach to predict and evaluate the performance of IoT architectures early in the system lifecylce in order to guarantee efficient and scalable systems reaching from sensors to business applications

    Mapping Component Models on Distributed Architectures: Correctness Checking

    Get PDF
    Abstract-We propose a method to check if a distribution of components, proposed to implement a given assembly of components, is correct with respect to the targeted host distributed architecture. The method is based on the principle of checking that the accessibility relation induced by the proposed distribution of components, is consistent with the accessibility relation imposed by the designed component model. The benefit is twofold: either to refine the designed component model or to adapt the envisioned deployment. The study is illustrated with examples of component models. The Event-B framework is used to check correctness, and we have developed a simulation prototype tool to support experimentations. keywords: Abstract Component Model, Distributed Architecture, Verification, Deployment, Event-

    Timing in Technischen Sicherheitsanforderungen für Systementwürfe mit heterogenen Kritikalitätsanforderungen

    Get PDF
    Traditionally, timing requirements as (technical) safety requirements have been avoided through clever functional designs. New vehicle automation concepts and other applications, however, make this harder or even impossible and challenge design automation for cyber-physical systems to provide a solution. This thesis takes upon this challenge by introducing cross-layer dependency analysis to relate timing dependencies in the bounded execution time (BET) model to the functional model of the artifact. In doing so, the analysis is able to reveal where timing dependencies may violate freedom from interference requirements on the functional layer and other intermediate model layers. For design automation this leaves the challenge how such dependencies are avoided or at least be bounded such that the design is feasible: The results are synthesis strategies for implementation requirements and a system-level placement strategy for run-time measures to avoid potentially catastrophic consequences of timing dependencies which are not eliminated from the design. Their applicability is shown in experiments and case studies. However, all the proposed run-time measures as well as very strict implementation requirements become ever more expensive in terms of design effort for contemporary embedded systems, due to the system's complexity. Hence, the second part of this thesis reflects on the design aspect rather than the analysis aspect of embedded systems and proposes a timing predictable design paradigm based on System-Level Logical Execution Time (SL-LET). Leveraging a timing-design model in SL-LET the proposed methods from the first part can now be applied to improve the quality of a design -- timing error handling can now be separated from the run-time methods and from the implementation requirements intended to guarantee them. The thesis therefore introduces timing diversity as a timing-predictable execution theme that handles timing errors without having to deal with them in the implemented application. An automotive 3D-perception case study demonstrates the applicability of timing diversity to ensure predictable end-to-end timing while masking certain types of timing errors.Traditionell wurden Timing-Anforderungen als (technische) Sicherheitsanforderungen durch geschickte funktionale Entwürfe vermieden. Neue Fahrzeugautomatisierungskonzepte und Anwendungen machen dies jedoch schwieriger oder gar unmöglich; Aufgrund der Problemkomplexität erfordert dies eine Entwurfsautomatisierung für cyber-physische Systeme heraus. Diese Arbeit nimmt sich dieser Herausforderung an, indem sie eine schichtenübergreifende Abhängigkeitsanalyse einführt, um zeitliche Abhängigkeiten im Modell der beschränkten Ausführungszeit (BET) mit dem funktionalen Modell des Artefakts in Beziehung zu setzen. Auf diese Weise ist die Analyse in der Lage, aufzuzeigen, wo Timing-Abhängigkeiten die Anforderungen an die Störungsfreiheit auf der funktionalen Schicht und anderen dazwischenliegenden Modellschichten verletzen können. Für die Entwurfsautomatisierung ergibt sich daraus die Herausforderung, wie solche Abhängigkeiten vermieden oder zumindest so eingegrenzt werden können, dass der Entwurf machbar ist: Das Ergebnis sind Synthesestrategien für Implementierungsanforderungen und eine Platzierungsstrategie auf Systemebene für Laufzeitmaßnahmen zur Vermeidung potentiell katastrophaler Folgen von Timing-Abhängigkeiten, die nicht aus dem Entwurf eliminiert werden. Ihre Anwendbarkeit wird in Experimenten und Fallstudien gezeigt. Allerdings werden alle vorgeschlagenen Laufzeitmaßnahmen sowie sehr strenge Implementierungsanforderungen für moderne eingebettete Systeme aufgrund der Komplexität des Systems immer teurer im Entwurfsaufwand. Daher befasst sich der zweite Teil dieser Arbeit eher mit dem Entwurfsaspekt als mit dem Analyseaspekt von eingebetteten Systemen und schlägt ein Entwurfsparadigma für vorhersagbares Timing vor, das auf der System-Level Logical Execution Time (SL-LET) basiert. Basierend auf einem Timing-Entwurfsmodell in SL-LET können die vorgeschlagenen Methoden aus dem ersten Teil nun angewandt werden, um die Qualität eines Entwurfs zu verbessern -- die Behandlung von Timing-Fehlern kann nun von den Laufzeitmethoden und von den Implementierungsanforderungen, die diese garantieren sollen, getrennt werden. In dieser Arbeit wird daher Timing Diversity als ein Thema der Timing-Vorhersage in der Ausführung eingeführt, das Timing-Fehler behandelt, ohne dass sie in der implementierten Anwendung behandelt werden müssen. Anhand einer Fallstudie aus dem Automobilbereich (3D-Umfeldwahrnehmung) wird die Anwendbarkeit von Timing-Diversität demonstriert, um ein vorhersagbares Ende-zu-Ende-Timing zu gewährleisten und gleichzeitig in der Lage zu sein, bestimmte Arten von Timing-Fehlern zu maskieren

    Automated Validation of State-Based Client-Centric Isolation with TLA <sup>+</sup>

    Get PDF
    Clear consistency guarantees on data are paramount for the design and implementation of distributed systems. When implementing distributed applications, developers require approaches to verify the data consistency guarantees of an implementation choice. Crooks et al. define a state-based and client-centric model of database isolation. This paper formalizes this state-based model in, reproduces their examples and shows how to model check runtime traces and algorithms with this formalization. The formalized model in enables semi-automatic model checking for different implementation alternatives for transactional operations and allows checking of conformance to isolation levels. We reproduce examples of the original paper and confirm the isolation guarantees of the combination of the well-known 2-phase locking and 2-phase commit algorithms. Using model checking this formalization can also help finding bugs in incorrect specifications. This improves feasibility of automated checking of isolation guarantees in synthesized synchronization implementations and it provides an environment for experimenting with new designs.</p

    Explanation of the Model Checker Verification Results

    Get PDF
    Immer wenn neue Anforderungen an ein System gestellt werden, müssen die Korrektheit und Konsistenz der Systemspezifikation überprüft werden, was in der Praxis in der Regel manuell erfolgt. Eine mögliche Option, um die Nachteile dieser manuellen Analyse zu überwinden, ist das sogenannte Contract-Based Design. Dieser Entwurfsansatz kann den Verifikationsprozess zur Überprüfung, ob die Anforderungen auf oberster Ebene konsistent verfeinert wurden, automatisieren. Die Verifikation kann somit iterativ durchgeführt werden, um die Korrektheit und Konsistenz des Systems angesichts jeglicher Änderung der Spezifikationen sicherzustellen. Allerdings ist es aufgrund der mangelnden Benutzerfreundlichkeit und der Schwierigkeiten bei der Interpretation von Verifizierungsergebnissen immer noch eine Herausforderung, formale Ansätze in der Industrie einzusetzen. Stellt beispielsweise der Model Checker bei der Verifikation eine Inkonsistenz fest, generiert er ein Gegenbeispiel (Counterexample) und weist gleichzeitig darauf hin, dass die gegebenen Eingabespezifikationen inkonsistent sind. Hier besteht die gewaltige Herausforderung darin, das generierte Gegenbeispiel zu verstehen, das oft sehr lang, kryptisch und komplex ist. Darüber hinaus liegt es in der Verantwortung der Ingenieurin bzw. des Ingenieurs, die inkonsistente Spezifikation in einer potenziell großen Menge von Spezifikationen zu identifizieren. Diese Arbeit schlägt einen Ansatz zur Erklärung von Gegenbeispielen (Counterexample Explanation Approach) vor, der die Verwendung von formalen Methoden vereinfacht und fördert, indem benutzerfreundliche Erklärungen der Verifikationsergebnisse der Ingenieurin bzw. dem Ingenieur präsentiert werden. Der Ansatz zur Erklärung von Gegenbeispielen wird mittels zweier Methoden evaluiert: (1) Evaluation anhand verschiedener Anwendungsbeispiele und (2) eine Benutzerstudie in Form eines One-Group Pretest-Posttest Experiments.Whenever new requirements are introduced for a system, the correctness and consistency of the system specification must be verified, which is often done manually in industrial settings. One viable option to traverse disadvantages of this manual analysis is to employ the contract-based design, which can automate the verification process to determine whether the refinements of top-level requirements are consistent. Thus, verification can be performed iteratively to ensure the system’s correctness and consistency in the face of any change in specifications. Having said that, it is still challenging to deploy formal approaches in industries due to their lack of usability and their difficulties in interpreting verification results. For instance, if the model checker identifies inconsistency during the verification, it generates a counterexample while also indicating that the given input specifications are inconsistent. Here, the formidable challenge is to comprehend the generated counterexample, which is often lengthy, cryptic, and complex. Furthermore, it is the engineer’s responsibility to identify the inconsistent specification among a potentially huge set of specifications. This PhD thesis proposes a counterexample explanation approach for formal methods that simplifies and encourages their use by presenting user-friendly explanations of the verification results. The proposed counterexample explanation approach identifies and explains relevant information from the verification result in what seems like a natural language statement. The counterexample explanation approach extracts relevant information by identifying inconsistent specifications from among the set of specifications, as well as erroneous states and variables from the counterexample. The counterexample explanation approach is evaluated using two methods: (1) evaluation with different application examples, and (2) a user-study known as one-group pretest and posttest experiment

    Skalierbarkeit einer Szenarien- und Template-basierten Simulation von Elektrik/Elektronik-Architekturen in reaktiven Umgebungen

    Get PDF
    Die Automobilindustrie befindet sich in einem Wandel. Zukünftige Fahrzeuge sind elektrisch, autonom, vernetzt, werden geteilt und regelmäßig aktualisiert. Die Auswirkung davon ist ein starkes Wachstum der Software in zukünftigen Fahrzeugen, das vor allem auf die Implementierung von autonomen Fahrerverhalten und herstellerspezifischen Betriebssystemen zurückzuführen ist. Zur sicheren Ausführung dieser Software werden leistungsstarke Zentralrechner benötigt. Daneben führen ein steigender Bedarf an Sicherheitsmechanismen gegen Cyberangriffe, der Einzug von Leistungselektronik und die notwendige Gewährleistung der Ausfallsicherheit zu einem Anstieg der Komplexität bei der Entwicklung von automobilen Elektrik/Elektronik-Architekturen (E/E-Architekturen). Im Bereich der Leistungselektronik liegt dies etwa an der benötigten Realisierung einer galvanischen Trennung zwischen Hochvolt- und Niedervoltnetz, um die Unversehrtheit der Insassen zu gewährleisten. Außerdem erfordert der Einsatz von permanenterregten Synchronmaschinen die sichere Auslegung und das Design entsprechender Schaltungen zur Ansteuerung. Cyberangriffe erfordern hingegen Mechanismen zur Abwehr und Gewährleistung der Informationssicherheit. Dazu zählen präventive Firewalls oder proaktive Angriffserkennungssysteme. Eine Ausfallsicherheit wird dagegen durch Komponenten- oder Informationsredundanz ermöglicht. Um entsprechende Ausfallmaßnahmen einzuleiten, kann zusätzlich die Implementierung eines entsprechenden Monitorings nötig sein. Im Zuge des Wandels wachsen die E/E-Architekturmodelle und weisen einen höheren Vernetzungsgrad auf. Dadurch haben E/E-Architekten mehr Designentscheidungen zu treffen, wobei Lösungen mehr Freiheitsgrade aufweisen und Auswirkungen schwieriger zu beurteilen sind. Jedoch müssen frühestmöglich im Entwicklungsprozess überprüfbar richtige Entscheidungen getroffen werden. Die Einführung frühzeitiger Tests in zukünftigen Zulassungsprozessen gibt dieser Anforderung ein weiteres Gewicht. In existierenden Arbeiten wurde gezeigt, dass eine in E/E-Architekturentwicklungswerkzeugen integrierte Simulationen einen Mehrwert für E/E-Architekten bei der frühzeitigen Findung von Designentscheidungen bietet. In dieser Arbeit werden dagegen die Grenzen der Skalierbarkeit einer solchen Simulation untersucht. Dies geschieht mithilfe von industriell relevanten Anwendungsfällen. Ein bestehender Ansatz zur automatisierten Synthese von Simulationsmodellen aus PREEvision-E/E-Architekturmodellen wird dabei unter Berücksichtigung der Anforderungen bei großmaßstäblichen Modellen erweitert und angepasst. Hierzu werden zunächst Simulatoren hinsichtlich ihrer Eignung für einen Einsatz im industriellen Umfeld untersucht. Dies erfolgt anhand in der Arbeit definierten Auswahlkriterien sowie mithilfe von synthetischen und skalierbaren Benchmarks. Im Anschluss werden Konzepte untersucht, welche die Erhöhung der Skalierbarkeit einer E/E-Architektursimulation adressieren. Zu den Aspekten der Skalierbarkeit gehören neben der Performanz auch die Anwendbarkeit und die Validierbarkeit, welche von der Emergenz generierter Modelle beeinflusst werden. Als Lösung werden in dieser Arbeit ausführbare Szenarienmodelle zur zustandsabhängigen Generierung von Stimuli und der reaktiven Evaluierung von Signalwerten verwendet. Durch deren Schnittstellen können gezielt die für einen Anwendungsfall relevanten Modellkomponenten der E/E-Architektur identifiziert werden, welche in Summe das sogenannte “System of Interest“ bilden. Auf diese Weise kann die Simulationsmodellgröße reduziert werden. Darüber hinaus werden parametrisierbare, pre-validierte und performanzoptimierte Teilmodelle, sogenannte „Templates“, bei der Generierung verwendet. Neben einer manuellen Zuweisung der Templates zu E/E-Architekturmodellkomponenten über die in dieser Arbeit verwendeten Template And Layer Integration Architecture (TALIA), haben spezifische Komponenten auf der Leistungssatzebene, wie Batterien, Stecker oder Kabel, bereits Standard-Templates zugewiesen. Simulationsmodelle können dadurch ohne manuelle Verhaltensmodellierung und zugehörige Validierung generiert werden. Damit Standard-Templates verwendet werden können, wird eine Hardware-zentrierte Abbildung verfolgt. Die physikalische E/E-Architektur aus der Realität bildet dabei die Grundlage für die generierten Simulationsmodelle. Softwaremodelle werden ergänzend über die Modelle der Steuergeräte bzw. ECUs integriert. Ebenso sind die Szenarienmodelle nach der Generierung ein Teil der Simulationsmodelle. Damit findet die Integration unterschiedlicher E/E-Architekturebenen statt, wodurch hybride Simulationsmodelle entstehen. Für die Evaluation werden Anwendungsfälle für Simulationen aus möglichen Designentscheidungsfragen abgeleitet und anhand definierter Kriterien für die weitere Betrachtung ausgewählt. Designentscheidungsfragen ergeben sich beim Technologieentscheid, der Dimensionierung von Komponente oder bei Optimierungen. Die Anwendungsfälle bestimmen das benötigte Testmodell, bestehend aus dem zu evaluierenden System of Interest und dem Prüfstandmodell, realisiert als Szenariomodell. Da das Testmodell die Basis des Simulationsmodells bildet und damit dessen Komplexität bestimmt, lässt sich anhand der Anwendungsfälle die Skalierbarkeit der E/E-Architektursimulation beurteilen. Insbesondere wird in dieser Arbeit der Einfluss emergenter Modelleigenschaften auf die Skalierbarkeit untersucht
    corecore