Abstract
Producing a large family of resource-constrained multi-processing systems on chips (MPSoC) is challenging, and the existing techniques are generally geared toward a single product. When they are leveraged for a variety of products, they are expensive and complex. Further in the industry, a considerable lack of analysis support at the architectural level induces a strong dependency on the experiences and preferences of the designer. This paper proposes a formal foundation and analysis of MPSoC product lines based on a featured transition system (FTS) to express the variety of products. First, features diagrams are selected to model MPSoC product lines, which facilitate capturing its semantics as FTS. To this end, the probabilistic model checker verifies the resulting FTS that is decorated with tasks characteristics and processors’ failure probability. The experimental results indicate that the formal approach offers quantitative results on the relevant product that optimizes resource usage when exploring the product family.












Similar content being viewed by others
Data availability
All data generated or analyzed during this study are included in this published article. A link to PRISM source code is available at: https://github.com/hakimuga/Towards-a-Context-driven-Deployment-Optimization-for-Embedded-Systems.
Notes
Open Services Gateway initiative.
Eclipse Modeling Tools: Tools and run-times for building model-based applications.
References
Andrés C, Camacho C, Llana L (2013) A formal framework for software product lines. Inf Softw Technol 55(11):1925–1947
Baouya A, Mohamed OA, Bennouar D, Ouchani S (2019) Safety analysis of train control system based on model-driven design methodology. Comput Ind 105:1–16
Baouya A, Mohamed OA, Ouchani S, Bennouar D (2021) Reliability-driven automotive software deployment based on a parametrizable probabilistic model checking. Expert Syst Appl 174:114572. https://doi.org/10.1016/j.eswa.2021.114572
Bashari M, Bagheri E, Du W (2018) Self-adaptation of service compositions through product line reconfiguration. J Syst Softw 144:84–105
Bhat A, Samii S, Rajkumar R (2017) Practical task allocation for software fault-tolerance and its implementation in embedded automotive systems, pp 87–98
Brázdil T, Chatterjee K, Chmelík M, Forejt V, Křetínský J, Kwiatkowska M, Parker D, Ujma M (2014) Verification of Markov decision processes using learning algorithms. In: Cassez F, Raskin JF (eds) Automated Technology for Verification and Analysis. Springer, Cham, pp 98–114
Brugali D, Capilla R, Mirandola R, Trubiani C (2018) Model-based development of qos-aware reconfigurable autonomous robotic systems. In: 2018 Second IEEE International Conference on Robotic Computing (IRC), pp 129–136. https://doi.org/10.1109/IRC.2018.00027
Capilla R, Bosch J, Trinidad P, Ruiz-Cortés A, Hinchey M (2014) An overview of dynamic software product line architectures and techniques: observations from research and industry. J Syst Softw 91:3–23
Capilla R, Ortiz Óscar, Hinchey M (2014) Context variability for context-aware systems. Computer 47(2):85–87. https://doi.org/10.1109/MC.2014.33
Cinque M, Cotroneo D, Della Corte R, Pecchia A (2019) A framework for on-line timing error detection in software systems. Future Gen Comput Syst 90:521–538
Classen A, Cordy M, Schobbens PY, Heymans P, Legay A, Raskin JF (2013) Featured transition systems: foundations for verifying variability-intensive systems and their application to ltl model checking. IEEE Trans Softw Eng 39(8):1069–1089
Conquet E, Perrotin M, Dissaux P, Tsiodras T, Hugues J (2010) The taste toolset: turning human designed heterogeneous systems into computer built homogeneous software. In: European Congress on Embedded Real-Time Software (ERTS 2010), Toulouse, France
Conrady S, Kreddig A, Manuel M, Doan NAV, Stechele W (2021) Model-based design space exploration for fpga-based image processing applications employing parameterizable approximations. Microprocess Microsyst 87:104386. https://doi.org/10.1016/j.micpro.2021.104386
Dehnert C, Junges S, Katoen JP, Volk M (2017) A storm is coming: A modern probabilistic model checker. Computer aided verification. Springer, Berlin, pp 592–600
de Sousa Santos I, de Jesus Souza ML, Carvalho MLL, Oliveira TA, de Almeida ES, de Castro Andrade RM (2017) Dynamically adaptable software is all about modeling contextual variability and avoiding failures. IEEE Softw 34(6):72–77. https://doi.org/10.1109/MS.2017.4121205
Feiler PH (2010) Model-based validation of safety-critical embedded systems. In: 2010 IEEE Aerospace Conference, pp 1–10. https://doi.org/10.1109/AERO.2010.5446809
Ferreira F, Vale G, Diniz JP, Figueiredo E (2021) Evaluating t-wise testing strategies in a community-wide dataset of configurable software systems. J Syst Softw 179:110990. https://doi.org/10.1016/j.jss.2021.110990
Forejt V, Kwiatkowska M, Norman G, Parker D (2011) Automated verification techniques for probabilistic systems. In: Bernardo M, Issarny V (eds) Formal Methods for Eternal Networked Software Systems (SFM’11), LNCS, vol 6659. Springer, pp 53–113
Ghezzi C, Sharifloo AM (2013) Model-based verification of quantitative non-functional properties for software product lines. Inf Softw Technol 55(3):508–524; special issue on software reuse and product lines
Gries M (2004) Methods for evaluating and covering the design space during early design development. Integration 38(2):131–183. https://doi.org/10.1016/j.vlsi.2004.06.001
Hartmann H, Trew T (2008) Using feature diagrams with context variability to model multiple product lines for software supply chains. In: 2008 12th International Software Product Line Conference, pp 12–21
Hensel C (2018) STORM model checker. http://www.stormchecker.org. Accessed 21 Dec 2018
Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677. https://doi.org/10.1145/359576.359585
Hoque KA, Mohamed OA, Savaria Y, Thibeault C (2014) Probabilistic model checking based dal analysis to optimize a combined tmr-blind-scrubbing mitigation technique for fpga-based aerospace applications. In: 2014 Twelfth ACM/IEEE Conference on Formal Methods and Models for Codesign (MEMOCODE), pp 175–184. https://doi.org/10.1109/MEMCOD.2014.6961856
International Organization for Standardization (ISO) (2013) Road vehicles—Functional safety—Part 9: Automotive safety integrity level (ASIL)-oriented and safety-oriented analyses. https://www.iso.org/fr/search.html?q=26262. Accessed 19 Jan 2019
Jiang W, Sha EHM, Chen X, Yang L, Zhou L, Zhuge Q (2017) Optimal functional-unit assignment for heterogeneous systems under timing constraint. IEEE Trans Parallel Distrib Syst 28(9):2567–2580
Keutzer K, Newton AR, Rabaey JM, Sangiovanni-Vincentelli A (2000) System-level design: orthogonalization of concerns and platform-based design. IEEE Trans Comput Aided Des Integr Circuits Syst 19(12):1523–1543. https://doi.org/10.1109/43.898830
Kwiatkowska M, Norman G, Parker D (2006) Controller dependability analysis by probabilistic model checking. Control Eng Pract 15(11):1427–1434
Lanna A, Castro T, Alves V, Rodrigues G, Schobbens PY, Apel S (2018) Feature-family-based reliability analysis of software product lines. Inf Softw Technol 94:59–81
Mahapatra A, Schafer BC (2018) Veriintel2c: abstracting rtl to c to maximize high-level synthesis design space exploration. Integration
Malazgirt GA, Yurdakul A (2016) Prenaut: design space exploration for embedded symmetric multiprocessing with various on-chip architectures. J Syst Archit 6:66
Marinho FG, Andrade RM, Werner C, Viana W, Maia ME, Rocha LS, Teixeira E, Filho JBF, Dantas VL, Lima F, Aguiar S (2013) Mobiline: a nested software product line for the domain of mobile and context-aware applications. Sci Comput Program 78(12):2381–2398. https://doi.org/10.1016/j.scico.2012.04.009. special Section on International Software Product Line Conference 2010 and Fundamentals of Software Engineering (selected papers of FSEN 2011)
Mauro J, Nieke M, Seidl C, Yu IC (2018) Context-aware reconfiguration in evolving software product lines. Sci Comput Program 163:139–159
Maxim B, Mistrík I, Galster M (2019) Software engineering for variability intensive systems: foundations and applications
Meedeniya I, Aleti A, Grunske L (2012) Architecture-driven reliability optimization with uncertain model parameters. J Syst Softw 85(10):2340–2355
Mendis H, Indrusiak LS, Audsley NC (2015) Bio-inspired distributed task remapping for multiple video stream decoding on homogeneous nocs. In: 2015 13th IEEE Symposium on Embedded Systems For Real-Time Multimedia (ESTIMedia), pp 1–10
Mühlbauer F, Schröder L, Schölzel M (2018) Handling of transient and permanent faults in dynamically scheduled super-scalar processors. Microelectron Reliab 80:176–183
Ouni B, Mhedbi I, Trabelsi C, Atitallah RB, Belleudy C (2017) Multi-level energy/power-aware design methodology for mpsoc. J Parallel Distrib Comput 100(C):203–215
Pascual GG, Lopez-Herrejon RE, Pinto M, Fuentes L, Egyed A (2015) Applying multiobjective evolutionary algorithms to dynamic software product lines for reconfiguring mobile applications. J Syst Softw 103:392–411
Paul S, Cai F, Zhang X, Bhunia S (2011) Reliability-driven ecc allocation for multiple bit error resilience in processor cache. IEEE Trans Comput 60(1):20–34. https://doi.org/10.1109/TC.2010.203
Pimentel AD (2017) Exploring exploration: a tutorial introduction to embedded systems design space exploration. IEEE Des Test 34(1):77–90. https://doi.org/10.1109/MDAT.2016.2626445
Posadas H, Villar E, Ragot D, Martinez M (2010) Early modeling of linux-based rtos platforms in a systemc time-approximate co-simulation environment. In: 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, pp 238–244. https://doi.org/10.1109/ISORC.2010.18
Qiu X, Ali S, Yue T, Zhang L (2017) Reliability-redundancy-location allocation with maximum reliability and minimum cost using search techniques. Inf Softw Technol 82(Supplement C):36–54
Sengupta A, Sedaghat R, Sarkar P (2012) A multi structure genetic algorithm for integrated design space exploration of scheduling and allocation in high level synthesis for dsp kernels. Swarm Evol Comput 7:35–46. https://doi.org/10.1016/j.swevo.2012.06.003
Siavvas MG, Chatzidimitriou KC, Symeonidis AL (2017) Qatch—an adaptive framework for software product quality assessment. Expert Syst Appl 86:350–366
Singh AK, Dziurzanski P, Mendis HR, Indrusiak LS (2017) A survey and comparative study of hard and soft real-time dynamic resource allocation strategies for multi-/many-core systems. ACM Comput Surv 50(2):1–40
Ubayashi N, Nakajima S, Hirayama M (2010) Context-dependent product line practice for constructing reliable embedded systems. Software Product Lines: Going Beyond. Springer, Berlin, pp 1–15
Van Gurp J, Bosch J, Svahnberg M (2001) On the notion of variability in software product lines. In: Proceedings Working IEEE/IFIP Conference on Software Architecture, pp 45–54. https://doi.org/10.1109/WICSA.2001.948406
Varshosaz M, Mousavi MR (2019) Comparative expressiveness of product line calculus of communicating systems and 1-selecting modal transition systems. In: Catania B, Královič R, Nawrocki J, Pighizzini G (eds) SOFSEM 2019: Theory and Practice of Computer Science. Springer, Cham, pp 490–503
Varshosaz M, Beohar H, Mousavi MR (2018) Basic behavioral models for software product lines: revisited. Sci Comput Program 168:171–185
Xie G, Chen Y, Liu Y, Wei Y, Li R, Li K (2017) Resource consumption cost minimization of reliable parallel applications on heterogeneous embedded systems. IEEE Trans Ind Inform 13(4):1629–1640
Ziadi T, Hélouët L, Jézéquel JM (2004) Towards a uml profile for software product lines. In: van der Linden FJ (ed) Software Product-Family Engineering. Springer, Heidelberg, pp 129–139
Zoni D, Cremona L, Fornaciari W (2018) Powerprobe: run-time power modeling through automatic rtl instrumentation. In: Design, Automation & Test in Europe Conference & Exhibition (DATE), pp 743–748
Funding
The research leading to the presented results has been undertaken within the research profile CPS4EU (https://cps4eu.eu/)—Cyber-Physical Systems For Europe, funded by the European Union, grant number: 826276.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Ethical approval
This article does not contain any studies with human participants or animals performed by any of the authors.
Conflict of interest
The authors declare that they have no conflict of interest.
Informed consent
Informed consent was obtained from all individual participants included in the study.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix: SCoPE platform description
Appendix: SCoPE platform description
The description of the system to be simulated is done in the sc_main function. In this function, we described the HW platform, the SW infrastructure, and the application SW. The structure of a common SCoPE sc_main function is portrayed in Listing 6. For each OS model, it is required to indicate the number of processors that will be controlled by the OS (line 9). To load the application SW, it is necessary to load in the OS models and the name of the entry function of each application in line 14.

Rights and permissions
Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Baouya, A., Ait Mohamed, O. & Ouchani, S. Toward a context-driven deployment optimization for embedded systems: a product line approach. J Supercomput 79, 2180–2211 (2023). https://doi.org/10.1007/s11227-022-04741-8
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-022-04741-8