Improvement of software requirements quality based on systems engineering / by Jörg Holtmann ; Referees: Prof. Dr.-Ing. Roman Dumitrescu, Prof. Dr. rer. nat. Joel Greenyer. Paderborn, 2019
Inhalt
Abstract
Zusammenfassung
Acknowledgements
Table of Contents
1 Introduction
1.1 Approaches for the Development of Software-intensive Systems Considered in this Thesis
1.1.1 The Specification Technique Consens for Model-based Systems Engineering
1.1.2 Modal Sequence Diagrams (MSDs) for Scenario-based Software Requirements Specification and Analysis
1.1.3 Timing Analysis
1.2 Problem Description
1.3 Approach to Solution and Contributions
1.3.1 Semi-automatic Technique for the Transition from MBSE to SwRE
1.3.2 Early Timing Analyses based on MSDs
1.4 Thesis Structure
2 Foundations
2.1 Model-based Traceability
2.1.1 Terminology
2.1.2 The Model-based Traceability Management Tool Capra
2.2 Model-based Systems Engineering with Consens
2.2.1 Analyze Environment
2.2.2 Identify Application Scenarios
2.2.3 Define Requirements
2.2.4 Define Function Hierarchy
2.2.5 Define Active Structure
2.2.6 Allocate Engineering Disciplines
2.2.7 Define System Behavior
2.3 Automatic Derivation of Discipline-specific Design Models from Consens System Models
2.4 Modal Sequence Diagrams (MSDs)
2.5 UML Profiles
2.5.1 The Modal Profile
2.5.2 The Systems Modeling Language (SysML)
2.5.3 Modeling and Analysis of Real-Time Embedded Systems (Marte)
2.6 Timing Analysis Techniques for Hard Real-time Systems
2.7 Clock Constraint Specification Language (CCSL)
2.7.1 CCSL Semantics and its Realization in TimeSquare
2.7.2 Pre-defined CCSL Constraints
2.7.3 User-defined Constraints
2.8 Specifying Modeling Language Semantics with Gemoc
3 Integrated Systems Engineering and Software Requirements Engineering
3.1 Extensions to the Consens Specification Technique
3.2 Component-based MSD Specifications
3.3 Process Description
3.4 Model Transformation Rules Overview
3.4.1 Derive MSD Use Cases
3.4.2 Derive Structure
3.4.2.1 Derive System Component Roles from Discrete Software Components
3.4.2.2 Derive Environment Component Roles from Environment Elements
3.4.2.3 Derive Environment Component Roles from Continuous Software Components
3.4.2.4 Derive Interfaces, Ports, and Connectors
3.4.3 Derive MSDs
3.5 Support for Manual Refinement of MSD Specifications
3.5.1 Informal Guidelines
3.5.2 Automatic Coverage Check
3.5.3 Automatic Derivation of Existential MSDs
3.6 Exemplary Application of the Transition Technique
3.6.1 Initial Process Iteration
3.6.1.1 Derive MSD Use Cases
3.6.1.2 Derive Structure
Derive System Component Roles from Discrete Software Components
Derive Environment Component Roles from SwRE-relevant Environment Elements
Derive Environment Component Roles from SwRE-relevant Continuous System Elements
Derive Interfaces, Ports, and Connectors
3.6.1.3 Derive MSDs
3.6.1.4 Refine MSD Specification
3.6.1.5 Analyze Coordination Behavior Requirements
3.6.1.6 Consolidate Discipline-specific Analysis Results
3.6.2 Subsequent Process Iterations
3.7 Semi-automatic Establishment of Explicit Inter-model Traceability Between Consens System Models and MSD Specifications
3.8 Model Transformations and Coverage Check More Formally
3.8.1 Preconditions for the Consens System Model
3.8.1.1 Relational Traceability Between Partial Models
3.8.1.2 Environment and Active Structure
3.8.1.3 Behavior–Sequences
3.8.1.4 Behavior–States
3.8.2 Model Transformation Approach and Algorithm
3.8.2.1 Selection and Extension of the Model Transformation Approach
3.8.2.2 Model Transformation Algorithm
3.8.3 Coverage Check between MSD Specifications and Behavior–States
3.9 Realization and Evaluation
3.9.1 Implementation
3.9.2 Case Study
3.10 Related Work
3.10.1 Transition from MBSE to Discipline-specific Models
3.10.2 System Modeling Languages and Methods with Discipline-specific Information
3.10.3 Component-based Scenario Notations
3.10.4 Semi-automatic Establishment of Explicit Lifecycle Traceability
3.11 Summary
4 Early Timing Analysis based on Software Requirements Specifications
4.1 Platform-specific MSD Specifications
4.1.1 Specifying Execution Platforms
4.1.1.1 Specifying the Hardware
4.1.1.2 Specifying the Real-time Operating System
4.1.1.3 Specifying Communication Facilities
4.1.2 Specifying Allocations
4.1.3 Annotating the Application Software
4.1.4 Specifying Analysis Contexts
4.2 Process Description
4.3 Extension of MSD Message Event Handling Semantics
4.4 MSD Semantics for Timing Analyses
4.4.1 Encoding of Additional Event Kinds and their Unification
4.4.2 Encoding of Timing Effects Induced by Platform Properties
4.4.2.1 Static Delays Between Message Event Kinds
4.4.2.2 Dynamic Delays due to Mutual Exclusion of Resources
4.4.3 Encoding of Real-time Requirements and Timing Analysis Contexts
4.5 Exemplary Timing Analysis
4.6 Realization and Evaluation
4.6.1 Implementation
4.6.1.1 The Timing Analysis Modeling (TAM) Profile in Detail
Subprofile AnalysisContext
Subprofile Platform::Communication
Subprofile Platform::ControlUnit
Subprofile Platform::OperatingSystem
Subprofile ApplicationSoftware
Subprofile SimulationExtensions
4.6.1.2 Preprocessing
4.6.2 Case Study
4.7 Related Work
4.7.1 Timing Analyses based on System Models
4.7.2 Scenario-based Timing Analyses
4.7.3 Architecture-based Timing Analyses
4.8 Summary
5 Conclusion
Bibliography
Own Peer-reviewed Publications
Own Non-peer-reviewed Publications
Supervised and Own Theses
Preliminary Work
Literature
Standards and Specifications
Research Projects
Tool Suites and Tool Frameworks
List of Figures
List of Tables
List of Algorithms
Listings
Appendices
A Supplementary Material for the Transition Technique from MBSE to SwRE
A.1 Guidelines for Manual MSD Refinement
A.2 EBEAS Models Applied in the Transition from MBSE with Consens to SwRE with MSDs
A.2.1 Consens System Model
A.2.2 MSD Specification
A.2.2.1 Initially Derived MSD Specification
MSD Use Case Obstacle Detection
MSD Use Case Emergency Braking
MSD Use Case Emergency Braking and Precrash Measures
A.2.2.2 Example: Manual Refinement of an Initially Derived MSD Specification
Step 1: Specify Additional MSDs
Step 2: Specify Trigger and Execution Behavior
Step 3: Specify Temperatures and Execution Kinds
Step 4: Specify Conditional Behavior
Step 5a: Check Coverage w.r.t. the Partial Model Behavior–States
Step 5b: Validate Existential Behavior
A.2.2.3 MSD Specification After Manual Refinement
A.3 Case Study Details: Hypothesis H2 for the Transition Technique from MBSE to SwRE
B Supplementary Material on the MSD Semantics for Timing Analysis
B.1 Further Examples of the MSD Semantics for Timing Analyses
B.2 Complete MSD Semantics for Timing Analyses: ECL Mapping Specification and User-defined MoCCML Relations
B.3 Exemplary Timing Analysis: TimeSquare Screenshot
B.4 Case Study Details: Hypotheses H2 and H3 for the Timing Analysis based on MSDs
C Own Publication Contributions