Skip to main content
Log in

Toward a context-driven deployment optimization for embedded systems: a product line approach

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

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

  1. Open Services Gateway initiative.

  2. Eclipse Modeling Tools: Tools and run-times for building model-based applications.

References

  1. Andrés C, Camacho C, Llana L (2013) A formal framework for software product lines. Inf Softw Technol 55(11):1925–1947

    Article  Google Scholar 

  2. 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

    Article  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. Bashari M, Bagheri E, Du W (2018) Self-adaptation of service compositions through product line reconfiguration. J Syst Softw 144:84–105

    Article  Google Scholar 

  5. Bhat A, Samii S, Rajkumar R (2017) Practical task allocation for software fault-tolerance and its implementation in embedded automotive systems, pp 87–98

  6. 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

    Chapter  MATH  Google Scholar 

  7. 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

  8. 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

    Article  Google Scholar 

  9. 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

    Article  Google Scholar 

  10. 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

    Article  Google Scholar 

  11. 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

    Article  Google Scholar 

  12. 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

  13. 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

    Article  Google Scholar 

  14. 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

    Google Scholar 

  15. 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

    Article  Google Scholar 

  16. 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

  17. 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

    Article  Google Scholar 

  18. 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

  19. 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

  20. 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

    Article  Google Scholar 

  21. 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

  22. Hensel C (2018) STORM model checker. http://www.stormchecker.org. Accessed 21 Dec 2018

  23. Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677. https://doi.org/10.1145/359576.359585

    Article  MATH  Google Scholar 

  24. 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

  25. 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

  26. 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

    Article  Google Scholar 

  27. 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

    Article  Google Scholar 

  28. Kwiatkowska M, Norman G, Parker D (2006) Controller dependability analysis by probabilistic model checking. Control Eng Pract 15(11):1427–1434

    Article  Google Scholar 

  29. 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

    Article  Google Scholar 

  30. Mahapatra A, Schafer BC (2018) Veriintel2c: abstracting rtl to c to maximize high-level synthesis design space exploration. Integration

  31. Malazgirt GA, Yurdakul A (2016) Prenaut: design space exploration for embedded symmetric multiprocessing with various on-chip architectures. J Syst Archit 6:66

    Google Scholar 

  32. 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)

  33. Mauro J, Nieke M, Seidl C, Yu IC (2018) Context-aware reconfiguration in evolving software product lines. Sci Comput Program 163:139–159

    Article  Google Scholar 

  34. Maxim B, Mistrík I, Galster M (2019) Software engineering for variability intensive systems: foundations and applications

  35. Meedeniya I, Aleti A, Grunske L (2012) Architecture-driven reliability optimization with uncertain model parameters. J Syst Softw 85(10):2340–2355

    Article  Google Scholar 

  36. 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

  37. 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

    Article  Google Scholar 

  38. 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

    Article  Google Scholar 

  39. 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

    Article  Google Scholar 

  40. 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

    Article  MathSciNet  MATH  Google Scholar 

  41. 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

    Article  Google Scholar 

  42. 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

  43. 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

    Article  Google Scholar 

  44. 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

    Article  Google Scholar 

  45. Siavvas MG, Chatzidimitriou KC, Symeonidis AL (2017) Qatch—an adaptive framework for software product quality assessment. Expert Syst Appl 86:350–366

    Article  Google Scholar 

  46. 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

    Article  Google Scholar 

  47. 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

    Google Scholar 

  48. 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

  49. 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

    Chapter  MATH  Google Scholar 

  50. Varshosaz M, Beohar H, Mousavi MR (2018) Basic behavioral models for software product lines: revisited. Sci Comput Program 168:171–185

    Article  Google Scholar 

  51. 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

    Article  Google Scholar 

  52. 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

    Chapter  Google Scholar 

  53. 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

Download references

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

Authors

Corresponding author

Correspondence to Abdelhakim Baouya.

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.

figure f

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.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-022-04741-8

Keywords

Navigation