{"title":"Conditional software specification & assurance: A practical assessment of contract-based approaches","authors":"Marc Förster","doi":"10.1109/ISSREW.2013.6688860","DOIUrl":null,"url":null,"abstract":"The integration of software components towards an operational system that reliably complies with requirements is one of the crucial problems in the development and maintenance of automotive embedded software. Conventionally, development considers closed systems, in that the composition of a system and its environment presupposes a fixed environment, which leads to limited reusability. Accordingly, there is a need for specification and analysis techniques for systems that are “open” (at design time, and perhaps also, but not necessarily, at runtime). The problem is that the environment provided for a reusable component is unknown or just partly known beforehand.In a broader view, the integration challenge occurs not just during development but also during runtime: with updates and patches of integrated components, during the integration of new components (after-sale upgrade) or the activation/deactivation of components due to energy management or load balancing. There exist a number of approaches aiming at the objective described above: assume/guarantee, rely/guarantee, assumption-commitment reasoning, Design by contract, Rich components, contract-based development etc. At present virtually all of them are research in progress. In particular, none of the approaches mentioned has as yet been consistently applied in practice in the area of automotive software or embedded systems. Our project intends to give an overview and to facilitate the understanding of such techniques of, as we call them, “conditional” specification and assurance and their application to automotive software development, improving the methodological support for the integration and reuse of software components. The aim has been achieved by a survey of existing approaches, a statement of relevant integration scenarios and the prototypical application of a selected approach in a case study with a realistic system. This submission reports some of our findings.","PeriodicalId":332420,"journal":{"name":"2013 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISSREW.2013.6688860","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The integration of software components towards an operational system that reliably complies with requirements is one of the crucial problems in the development and maintenance of automotive embedded software. Conventionally, development considers closed systems, in that the composition of a system and its environment presupposes a fixed environment, which leads to limited reusability. Accordingly, there is a need for specification and analysis techniques for systems that are “open” (at design time, and perhaps also, but not necessarily, at runtime). The problem is that the environment provided for a reusable component is unknown or just partly known beforehand.In a broader view, the integration challenge occurs not just during development but also during runtime: with updates and patches of integrated components, during the integration of new components (after-sale upgrade) or the activation/deactivation of components due to energy management or load balancing. There exist a number of approaches aiming at the objective described above: assume/guarantee, rely/guarantee, assumption-commitment reasoning, Design by contract, Rich components, contract-based development etc. At present virtually all of them are research in progress. In particular, none of the approaches mentioned has as yet been consistently applied in practice in the area of automotive software or embedded systems. Our project intends to give an overview and to facilitate the understanding of such techniques of, as we call them, “conditional” specification and assurance and their application to automotive software development, improving the methodological support for the integration and reuse of software components. The aim has been achieved by a survey of existing approaches, a statement of relevant integration scenarios and the prototypical application of a selected approach in a case study with a realistic system. This submission reports some of our findings.