{"title":"Function-Oriented Decomposition for Reactive Embedded Software","authors":"Matthias Terber","doi":"10.1109/SEAA.2017.42","DOIUrl":null,"url":null,"abstract":"Due to C's overwhelming dominance in industry, reactive embedded applications usually rely on conventional sequential programming. Adopted approaches favor event-driven paradigms which prevent function-oriented code decomposition in particular. This encourages the violation of fundamental software engineering principles. The reactive programming paradigm is proposed as a general solution. However, most reactive languages cannot keep up with C's practical advantages. It appears, that the subfamily of synchronous languages provides promising features but real-world deployments and evaluations are rarely reported in literature. On this account, we make two major contributions in this paper. First, we elaborate how the lack of function-oriented software decomposition manifests in a real-life industrial application. Second, we provide a corresponding re-implementation which illustrates the deployment and discusses the gained engineering benefits provided by the third-party, synchronous-reactive programming language Céu. We believe that our work generally reveals a practicable way of improving embedded software quality in industrial applications.","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SEAA.2017.42","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Due to C's overwhelming dominance in industry, reactive embedded applications usually rely on conventional sequential programming. Adopted approaches favor event-driven paradigms which prevent function-oriented code decomposition in particular. This encourages the violation of fundamental software engineering principles. The reactive programming paradigm is proposed as a general solution. However, most reactive languages cannot keep up with C's practical advantages. It appears, that the subfamily of synchronous languages provides promising features but real-world deployments and evaluations are rarely reported in literature. On this account, we make two major contributions in this paper. First, we elaborate how the lack of function-oriented software decomposition manifests in a real-life industrial application. Second, we provide a corresponding re-implementation which illustrates the deployment and discusses the gained engineering benefits provided by the third-party, synchronous-reactive programming language Céu. We believe that our work generally reveals a practicable way of improving embedded software quality in industrial applications.