In the first period, we identified initial and extended sets of patterns for data intensive parallel programming, based on existing pattern sets (D2.1). We extended the IBM FOCUS tool and the ExpliSAT tool to provide test planning and verification for parallel, patterned, applications. We produced new mechanisms for detecting violations of extra-functional requirements (D3.1). We developed new parallel scheduling and mapping mechanisms, plus performance monitoring (D4.1). We produced requirements capture processes (D5.1) and developed new coding and data standards to support parallel program development (D5.2).
We implemented the initial patterns and a DSL (D2.1). We have designed a new API (D2.4). We have new program shaping techniques for parallelization, (D2.3). We have new refactorings to introduce parallelism (D2.2). We extended IBM’s ExpliSAT to support concurrency, PRL’s QA-Verify tool to support multithreading (D3.1) developed new tooling to detect the violation of extra-functional properties (D3.2) developed static mapping , developed an initial dynamic scheduling toolfor monitoring performance (D4.1).
We have shown how IBM’s ExpliSAT tool can determine functional correctness, PRL’s QA-Verify tool can determine code complies with the coding standards in D3.1; identified requirements on the project use cases for evaluation against the software lifecycle (D6.1).
We identified detailed metrics for robustness etc (D3.1); requirements on the use case applications (D6.1); and selected appropriate use cases based on these requirements (D6.3).
In period 2, we have explored the usability of pattern set D2.7; a new refactoring tool that (D2.6 D2.10); we have new patterns in D2.8. In WP3, we have extended IBM FOCUS and ExpliSAT tool to provide test planning and verification. This work is reported in D3.4 and D3.5. In WP4, we have new parallel scheduling and mapping mechanisms, plus performance monitoring (D4.2 D4.3 and D4.4). In WP6, we have summarized our requirements capture on the use-cases (D6.1 D6.3).
We have developed new pattern discovery techniques and tools D2.9; new refactoring tools D2.6 D2.10; extended PRL’s QA-Verify tool to support new analyses for automatically analyzing code and verifying compliance to standards (D3.3. D3.4) PRL extended their QA-Verify tool to achieve full coverage of the C++17 standard. In WP4, we have developed new software for the adaptivity of pattern applications for the initial pattern set (D4.2 D4.4) and heterogeneous hardware (D4.3). In WP5 we have provided a new inter-operable tool chain combining the different RePhrase tools into the PRL QA-Verify framework (D5.6).
In WP3, we have shown how QA-Verify tool can determine whether code complies with existing C++17 coding standards (D3.4 and D3.5). In WP5, we have developed new requirements capture processes for parallel data-intensive software (D5.1) and new data and coding standards for parallelism (D5.2). This will lead into standardization activities. In WP6, we have evaluated the use-cases against the objectives outlined in Objective 2 (D6.4 D6.5 D6.6 D6.7).
In order to demonstrate robustness, in WP3, USTAN have extended their refactoring tool to deal with safety issues in parallel code bases; UC3M have extended ThreadSanitizer to support the semantics of lock-free data structures; IBM have extended FOCUS CTD and ExpliSAT; these results are reported in D3.5. In WP6 SCCH have worked in defining metrics to evaluate reliability, robustness, adaptivity, resilience and integrity and ways to evaluate them. Furthermore, SCCH have evaluated its use case on the defined metrics and reported the results in D6.6 and D6.7.
In WP5 we have a interoperable tool-chain via QA-Verify tool (D5.6). In WP6 we have evaluated our approach by the use-cases from SCCH, EvoPro, and CiberSam. This is reported in D6.4 D6.5 D6.6 and D6.6.
The project website provides technical reports + tutorials (D7.6). 126 research papers, 5 workshops and 1 tutorial. Our twitter has 500+ followers (D7.8). Research papers are available. Project data is on Zenodo (D7.3). We have press releases (D7.7).