A New Approach for Automatic Development of Reconfigurable Real-Time Systems

  • Wafa LakhdharEmail author
  • Rania Mzid
  • Mohamed Khalgui
  • Nicolas Treves
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 743)


In the industry, reconfigurable real-time systems are specified as a set of implementations and tasks with timing constraints. The reconfiguration allows to move from one implementation to another by adding/removing real-time tasks. Implementing those systems as threads generates a complex system code due to the large number of threads and the redundancy between the implementation sets. This paper shows an approach for software synthesis in reconfigurable uniprocessor real-time embedded systems. Starting from the specification to a program source code, this approach aims at minimizing the number of threads and the redundancy between the implementation sets while preserving the system feasibility. The proposed approach adopts Mixed Integer Linear Programming (MILP) techniques in the exploration phase in order to provide feasible and optimal task model. An optimal reconfigurable POSIX-based code of the system is manually generated as an output of this technique. An application to a case study and performance evaluation show the effectiveness of the proposed approach.


Real-time system Reconfigurable architecture Timing constraints Mixed Integer Linear Programming (MILP) POSIX-based code 



Processor utilization


Number of thread


Number of implementation


System implementations set


The \(i^{th}\) implementation


The \(i^{th}\) Function


The Period of the \(i^{th}\) function


The WCET of the \(i^{th}\) function

\(\tau _i\)

The \(i^{th}\) task


The release time of the \(i^{th}\) task


The period of the \(i^{th}\) task


The WCET of the \(i^{th}\) task


The deadline of the \(i^{th}\) task


The priority of the \(i^{th}\) task


The Response time of the \(i^{th}\) task


The reconfiguration time


the spent time to delete a task


the spent time to create a task


the number of deleted tasks


is the number of created tasks


Merging Matrix


Initial Task model


New task model


  1. 1.
    Burns, A., Wellings, A.: Real-Time Systems and Programming Languages: Ada, Real-Time Java and C/Real-Time POSIX, 4th edn. Addison-Wesley Educational Publishers Inc., USA (2009)zbMATHGoogle Scholar
  2. 2.
    Cottet, F., Grolleau, E.: Systmes Temps Réel de Contrôle-Commande. Dunod, Paris (2005)Google Scholar
  3. 3.
    Polakovic, J., Mazare, S., Stefani, J.-B., David, P.-C.: Experience with safe dynamic reconfigurations in component-based embedded systems. In: Schmidt, H.W., Crnkovic, I., Heineman, G.T., Stafford, J.A. (eds.) CBSE 2007. LNCS, vol. 4608, pp. 242–257. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-73551-9_17CrossRefGoogle Scholar
  4. 4.
    Singhoff, F., Legrand, J., Nana, L., Marcé, L.: Cheddar: a flexible real time scheduling framework. In: Proceedings of the ACM SIGADA International Conference, Atlanta. ACM (2004)CrossRefGoogle Scholar
  5. 5.
    Baruah, S., Goossens, J.: Scheduling real-time tasks: Algorithms and complexity. Handb. Sched.: Algorithms Models Perform. Anal. 3 (2004)Google Scholar
  6. 6.
    Gharsellaoui, H., Gharbi, A., Khalgui, M., Ahmed, S.: Feasible automatic reconfigurations of real-time OS tasks. In: Handbook of Research on Industrial Informatics and Manufacturing Intelligence: Innovations and Solutions: Innovations and Solutions (2012)Google Scholar
  7. 7.
    Liu, C., Layland, J.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM (JACM) 20, 46–61 (1973)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Bouaziz, R., Lemarchand, L., Singhoff, F., Zalila, B., Jmaiel, M.: Architecture exploration of real-time systems based on multi-objective optimization. In: Proceedings of the 20th International Conference on Engineering of Complex Computer Systems (ICECCS), Gold Coast, QLD, pp. 1–10. IEEE (2015)Google Scholar
  9. 9.
    Mehiaoui, A., Wozniak, E., Tucci-Piergiovanni, S., Mraidha, C., Natale, M.D., Zeng, H., Babau, J., Lemarchand, L., Gerard, S.: A two-step optimization technique for functions placement, partitioning, and priority assignment in distributed systems. ACM SIGPLAN Not. 48, 121–132 (2013)CrossRefGoogle Scholar
  10. 10.
    Woźniak, E.: Model-based synthesis of distributed real-time automotive architectures. Ph.D. thesis, Université Paris Sud-Paris XIGoogle Scholar
  11. 11.
    Marinca, D., Minet, P., George, L.: Analysis of deadline assignment methods in distributed real-time systems. Comput. Commun. 27, 1412–1423 (2004)CrossRefGoogle Scholar
  12. 12.
    Pillai, P., Shin, K.: Taste-an open-source tool-chain for embedded system and software development. In: Proceedings of the Embedded Real Time Software and Systems Conference (ERTS), Toulouse, France (2012)Google Scholar
  13. 13.
    Lewine, D.: POSIX programmers guide. O’Reilly Media Inc., USA (1991)Google Scholar
  14. 14.
    Obenland, K.M.: The Use of Posix in Real-time Systems, Assessing its Effectiveness and Performance. The MITRE Corporation, McLean (2000)Google Scholar
  15. 15.
    Lehoczky, J., Sha, L., Ding, Y.: The rate monotonic scheduling algorithm: exact characterization and average case behavior. In: Proceedings of the Real Time Systems Symposium, pp. 166–171. IEEE (1989)Google Scholar
  16. 16.
    Ltkebohle, I.: IBM CPLEX Optimizer - United States (2016). Accessed 10 Apr 2016
  17. 17.
    Stankovic, J.: Misconceptions about real-time computing: a serious problem for next-generation systems. Computer 21, 10–19 (1988)CrossRefGoogle Scholar
  18. 18.
    Klein, M., Ralya, T., Pollak, B., Obenza, R., Harbour, M.G.: Analyzing complex systems. In: Klein, M., Ralya, T., Pollak, B., Obenza, R., Harbour, M.G. (eds.) Proceedings of Real-Time Analysis, pp. 535–578. Springer, US (1993)Google Scholar
  19. 19.
    Chetto, H., Silly, M., Bouchentouf, T.: Dynamic scheduling of real-time tasks under precedence constraints. Real-Time Syst. 2, 181–194 (1991)CrossRefGoogle Scholar
  20. 20.
    Swaminathan, V., Chakrabarty, K.: Real-time task scheduling for energy-aware embedded systems. J. Franklin Inst. 338, 729–750 (2001)CrossRefGoogle Scholar
  21. 21.
    Gruian, F.: Hard real-time scheduling for low-energy using stochastic data and DVS processors. In: Proceedings of the 2001 international symposium on Low power electronics and design, pp. 46–51. ACM (2001)Google Scholar
  22. 22.
    Krishna, C.M., Lee, Y.H.: Voltage-clock-scaling adaptive scheduling techniques for low power in hard real-time systems. IEEE Trans. Comput. 52, 1586–1593 (2003)CrossRefGoogle Scholar
  23. 23.
    Bini, E., Buttazzo, G.: A hyperbolic bound for the rate monotonic algorithm. In: Proceedings of the 13th Euromicro Conference on Real-Time Systems, Delft, pp. 59–66. IEEE (2001)Google Scholar
  24. 24.
    Pillai, P., Shin, K.: Real-time dynamic voltage scaling for low-power embedded operating systems. In: Proceedings of the 13th Euromicro Conference on Real-Time Systems, USA, pp. 59–66. ACM (2001)Google Scholar
  25. 25.
    Bertout, A., Forget, J., Olejnik, R.: Minimizing a real-time task set through task clustering. In: Proceedings of the 22nd International Conference on Real-Time Networks and Systems, p. 23, Versailles, France. ACM (2014)Google Scholar
  26. 26.
    Racu, R., Jersak, M., Ernst, R.: Applying sensitivity analysis in real-time distributed systems. In: 11th IEEE Real Time and Embedded Technology and Applications Symposium, pp. 160–169. IEEE (2005)Google Scholar
  27. 27.
    Pop, T., Eles, P., Peng, Z.: Design optimization of mixed time/event-triggered distributed embedded systems. In: Proceedings of the 1st IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, pp. 83–89. ACM (2003)Google Scholar
  28. 28.
    Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Software Eng. 39, 658–683 (2013)CrossRefGoogle Scholar
  29. 29.
    Mraidha, C., Tucci-Piergiovanni, S., Gerard, S.: Optimum: a marte-based methodology for schedulability analysis at early design stages. ACM SIGSOFT Softw. Eng. Notes 36, 1–8 (2011)CrossRefGoogle Scholar
  30. 30.
    Hladik, P.-E., Cambazard, H., Déplanche, A.M., Jussien, N.: Solving a real-time allocation problem with constraint programming. Comput. Ind. Eng. 81, 132–149 (2008)Google Scholar
  31. 31.
    Harbour, M.G.: Ordonnancement temps reel avec profilsvariables de consommation d’energie. In: Embedded Systems (2004)Google Scholar
  32. 32.
    Xu, Y., Brennan, R.W., Zhang, X., Norrie, H.: A reconfigurable concurrent function block model and its implementation in real-time java. Discret. Event Dynamic Syst. 9, 263–279 (2002)Google Scholar
  33. 33.
    Rooker, M.N., Sünder, C., Strasser, T., Zoitl, A., Hummer, O., Ebenhofer, G.: Zero downtime reconfiguration of distributed automation systems: the \(\epsilon \)CEDAC approach. In: Mařík, V., Vyatkin, V., Colombo, A.W. (eds.) HoloMAS 2007. LNCS, vol. 4659, pp. 326–337. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-74481-8_31CrossRefGoogle Scholar
  34. 34.
    Thramboulidis, K., Doukas, G., Frantzis, A.: Towards an implementation model for FB-based reconfigurable distributed control applications. In: IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, pp. 193–200. IEEE (2007)Google Scholar
  35. 35.
    Krichen, F., Hamid, B., Zalila, B., Coulette, B.: Designing dynamic reconfiguration for distributed real time embedded systems. In: Proceedings of 10th Annual International Conference on New Technologies of Distributed Systems (NOTERE), Tozeur, Tunisia, pp. 249–254. IEEE (2010)Google Scholar
  36. 36.
    Guo, Y., Sierszecki, K., Angelov, C.A.: A reconfiguration mechanism for resource-constrained embedded systems, pp. 1315–1320. IEEE Computer Society, Washington, DC, USA (2008)Google Scholar
  37. 37.
    B. Hamid, A. Lanusse, A.R., Gérard, S.: Designing reconfigurable component systems with a model based approach. In: ARTIST Workshop on Adaptive and Reconfigurable Embedded Systems, Saint Louis, MO, USA, pp. 69–73 (2008)Google Scholar
  38. 38.
    Barreto, R., Neves, M., Oliveira Jr., M., Maciel, P., Tavares, E., Lima, R.: A formal software synthesis approach for embedded hard real-time systems. In: Proceedings of the 17th symposium on Integrated circuits and system design, pp. 163–168. ACM (2004)Google Scholar
  39. 39.
    Tavares, E., Barreto, R., Junior, M.O., Maciel, P., Neves, M., Lima, R.: An approach for pre-runtime scheduling in embedded hard real-time systems with power constraints. In: 16th Symposium on Computer Architecture and High Performance Computing, 2004, SBAC-PAD 2004, pp. 188–195. IEEE (2004)Google Scholar
  40. 40.
    Pagetti, C., Forget, J., Boniol, F., Cordovilla, M., Lesens, D.: Multi-task implementation of multi-periodic synchronous programs. Discret. Event Dyn. Syst. 21, 307–338 (2011)MathSciNetCrossRefGoogle Scholar
  41. 41.
    Binder, W., Hulaas, J.: Using bytecode instruction counting as portable cpu consumption metric. Electron. Notes Theoret. Comput. Sci. 153, 57–77 (2006)CrossRefGoogle Scholar
  42. 42.
    Harbour, M.G.: Real-time posix: an overview. In: VVConex 93 International Conference, Moscu. Citeseer (1993)Google Scholar
  43. 43.
    Brosse, E.: Marte-designer example-ccas - marte user manual (english) - modelio community forge (2011). Accessed 1 Nov 2016

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Wafa Lakhdhar
    • 1
    Email author
  • Rania Mzid
    • 2
    • 3
  • Mohamed Khalgui
    • 1
    • 5
    • 6
  • Nicolas Treves
    • 4
  1. 1.LISI Lab INSAT, INSAT CentreUniversity of CarthageTunisTunisia
  2. 2.ISIUniversity Tunis-El ManarArianaTunisia
  3. 3.CES Lab ENISUniversity of SfaxSfaxTunisia
  4. 4.CEDRIC LabParisFrance
  5. 5.Systems Control LabXidian UniversityHalleChina
  6. 6.School of Electrical and Information EngineeringJinan UniversityZhuhaiChina

Personalised recommendations