A model-driven software construction approach for cyber-physical systems / Uwe Pohlmann ; Referee: Prof. Dr. Matthias Tichy, Prof. Dr. Gregor Engels. Paderborn, 2018
Inhalt
- Abstract
- Zusammenfassung
- Danksagung
- 1 Introduction
- 1.1 Problem Statement
- 1.1.1 Simulation of Cyber-physical Systems
- 1.1.2 Specifying Constraints for Allocation Planning
- 1.1.3 Constructing Software for Distributed Cyber-Physical Systems
- 1.2 Contribution
- 1.3 Running Example: Cooperative Overtaking System Using Car-2-X Communication
- 1.4 Thesis Structure
- 2 MechatronicUML
- 3 Model-in-the-Loop Simulation
- 3.1 Modelica
- 3.1.1 Modeling System's Structures
- 3.1.2 Modeling the State-based Behavior
- 3.1.3 MiL Simulation of Modelica Models
- 3.2 Process for Model-in-the-Loop Simulation of MechatronicUML
- 3.3 Real-Time Coordination Modelica Library
- 3.3.1 Synchronization Connectors and Ports
- 3.3.2 Message-Based Communication
- 3.3.3 Clocks, Invariants, and Clock Constraints
- 3.3.4 Formal Syntax and Semantics Definition of the Real-Time Coordination Library
- 3.3.5 Case Study
- 3.4 Model-in-the-Loop Simulation of MechatronicUML
- 3.4.1 Transforming Component Instance Configurations (CiCs) to Modelica Connection Diagrams
- 3.4.2 Transforming RTSCs to Modelica Models
- 3.5 Tooling Implementation
- 3.6 Case Study
- 3.6.1 Context and Cases
- 3.6.2 Hypothesis
- 3.6.3 Analysis Procedure
- 3.6.4 Preparation of the Data Collection
- 3.6.5 Data Collection Procedure
- 3.6.6 Interpreting the Results
- 3.6.7 Threats to Validity
- 3.7 Limitations
- 3.8 Related Work
- 3.8.1 MiL Simulation Using Modelica as Modeling Language and Simulation Environment
- 3.8.2 MiL Simulation Using Modelica as Simulation Environment
- 3.8.3 MiL Simulation Using Other Modeling Languages and Simulation Environments
- 3.8.4 MiL Simulation Using Functional Mockup Units
- 3.9 Summary
- 4 Allocation Engineering
- 4.1 Allocation Engineering Example
- 4.2 Allocation Engineering Process
- 4.3 Hardware Platform Modeling
- 4.4 Component Instance Resource Requirements Modeling and View
- 4.5 Allocation Constraint Modeling
- 4.6 Automated Allocation Planning
- 4.6.1 Constraint Satisfaction Problems
- 4.6.2 Linear Program Modeling
- 4.6.3 0-1-ILP Representation of ASL Constraints
- 4.6.4 Back-Transformation to the System Allocation Specification Model
- 4.7 Constraint Definition for Cyber-physical Systems
- 4.7.1 Software-Dependency Collocation Constraint
- 4.7.2 Topology-Dependency Required Location Constraint
- 4.7.3 Software-Incompatibility Separate Location Constraint
- 4.7.4 Software-Communication Location Constraint
- 4.7.5 Memory Usage Resource Constraint
- 4.7.6 Processor Usage Resource Constraint – Response-Time Analysis for Task Scheduling
- 4.7.7 Processor Usage Resource Constraint – EDF Schedulability Task Analysis
- 4.7.8 Network Usage Resource Constraint – CAN Message Scheduling Response-Time Analysis
- 4.8 System Allocation Specification View
- 4.9 Tooling Implementation
- 4.10 Case Study
- 4.10.1 Context and Cases
- 4.10.2 Hypotheses
- 4.10.3 Analysis Procedure
- 4.10.4 Preparation of the Data Collection
- 4.10.5 Data Collection Procedure
- 4.10.6 Interpreting the Results
- 4.10.7 Threats to Validity
- 4.11 Limitations
- 4.12 Related Work
- 4.12.1 Architecture Description Languages for Modeling Hardware
- 4.12.2 Design Space Exploration for Allocation Planning
- 4.13 Summary
- 5 Software Construction
- 5.1 MechatronicUML Component Model Extensions
- 5.1.1 Integration of Software Libraries
- 5.1.2 Reuse and Configuration of Components via Parametrization
- 5.1.3 Parameter Binding for Component Instances
- 5.1.4 Semantics of the Communication between Hybrid Port and Continuous Ports
- 5.2 Process for the Software Construction
- 5.3 Concepts for the Software Constructions
- 5.3.1 Architecture-Centric, Component-Container-based Generation Infrastructure
- 5.3.2 Platform-Independent Implementation
- 5.3.3 Platform-Specific Modeling
- 5.3.4 Platform-Specific Implementation
- 5.3.5 Build
- 5.4 Tooling Implementation
- 5.5 Case Study
- 5.5.1 Context and Cases
- 5.5.2 Hypotheses
- 5.5.3 Analysis Procedure
- 5.5.4 Preparation of the Data Collection
- 5.5.5 Data Collection Procedure
- 5.5.6 Interpreting the Results
- 5.5.7 Threats to Validity
- 5.6 Limitations
- 5.7 Related Work
- 5.7.1 Component-based Application Engineering
- 5.7.2 Component-based Middleware Engineering and Deployment Frameworks/Specifications
- 5.8 Summary
- 6 Conclusion
- Bibliography
- Own Peer-Reviewed Papers
- Own Non-Peer-Reviewed Technical Reports and Book
- Supervised Theses
- Literature
- Norms and Specifications
- Tools, Software Platforms, and Hardware Platforms
- List of Figures
- List of Tables
- List of Acronyms
- Appendices
- A Supplementary Material for the Hardware Platform Description Language
- B Supplementary Material for the Allocation Specification Language
- B.1 Preamble of Allocation Constraint Specification
- B.2 Allocation Specification Language Meta-Model
- B.3 Name Provider and Storage Provider
- B.4 OCL-based ASL Library
- B.5 Linear Program Meta-Model
- B.6 Concrete LPSolve Syntax for Linear Programs
- C Supplementary Material for the Deployment Configuration Language
- C.1 MechatronicUML Deployment Configuration Meta-Model
- C.2 Concrete ApiMl Syntax
- C.3 Concrete APIMappingMl Syntax
- D Supplementary Material for the Software Construction Explanation
- D.1 Component Context Object Pattern
- D.2 Handle Pattern
- D.3 Builder Pattern
- D.4 Lifecycle Callback Pattern
- D.5 Supplementary Material for the Hybrid Port Semantics Definition
- D.6 Supplementary Material for the Makefile Explanation
- E Supplementary Case Study Model Descriptions
- E.1 Allocation Constraints for the Cooperating Overtaking Scenario
- E.2 Real-Time Coordination Protocol for the Cooperating Overtaking Scenario
- E.3 Verified Safety and Liveness Properties
- E.4 Distance Sensor Access Specification for the Raspberry Pi Platform
- F Supplementary Collected Data
