Engineering processes for safety-critical systems describe the steps and sequence that guide engineers from refining user requirements into executable code, as well as producing the artifacts, traces, and evidence that the resulting system is of high quality. Process compliance focuses on ensuring that the actual engineering work is followed as closely as possible to the described engineering processes. To this end, temporal constraints describe the ideal sequence of steps. Checking these process constraints, however, is still a daunting task that requires a lot of manual work and delivers feedback to engineers only late in the process. In this paper, we present an automated constraint checking approach that can incrementally check temporal constraints across inter-related engineering artifacts upon every artifact change thereby enabling timely feedback to engineers on process deviations. Temporal constraints are expressed in the Object Constraint Language (OCL) extended with operators from Linear Temporal Logic (LTL). We demonstrate the ability of our approach to support a wide range of higher level temporal patterns. We further show that for constraints in an industry-derived use case, the average evaluation time for a single constraint takes around 0.2 milliseconds.
翻译:暂无翻译