Skip to main content

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

  • Conference paper
  • First Online:
Software Technologies (ICSOFT 2016)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 743))

Included in the following conference series:

  • 450 Accesses

Abstract

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.

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

Access this chapter

Institutional subscriptions

Abbreviations

U :

Processor utilization

n :

Number of thread

m :

Number of implementation

Sys :

System implementations set

\(imp_i\) :

The \(i^{th}\) implementation

\(F_i\) :

The \(i^{th}\) Function

\(T_{f_i}\) :

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

\(C_{f_i}\) :

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

\(\tau _i\) :

The \(i^{th}\) task

\(r_i\) :

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

\(T_i\) :

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

\(C_i\) :

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

\(D_i\) :

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

\(P_i\) :

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

\(Rep_i\) :

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

\(T_{reconf}\) :

The reconfiguration time

\(T_{delete}\) :

the spent time to delete a task

\(T_{creat}\) :

the spent time to create a task

A:

the number of deleted tasks

B:

is the number of created tasks

Merge\(_{ij}\):

Merging Matrix

InitTask:

Initial Task model

NewTask:

New task model

References

  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)

    MATH  Google Scholar 

  2. Cottet, F., Grolleau, E.: Systmes Temps Réel de Contrôle-Commande. Dunod, Paris (2005)

    Google Scholar 

  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_17

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  5. Baruah, S., Goossens, J.: Scheduling real-time tasks: Algorithms and complexity. Handb. Sched.: Algorithms Models Perform. Anal. 3 (2004)

    Google Scholar 

  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. Liu, C., Layland, J.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM (JACM) 20, 46–61 (1973)

    Article  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

  10. Woźniak, E.: Model-based synthesis of distributed real-time automotive architectures. Ph.D. thesis, Université Paris Sud-Paris XI

    Google Scholar 

  11. Marinca, D., Minet, P., George, L.: Analysis of deadline assignment methods in distributed real-time systems. Comput. Commun. 27, 1412–1423 (2004)

    Article  Google Scholar 

  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. Lewine, D.: POSIX programmers guide. O’Reilly Media Inc., USA (1991)

    Google Scholar 

  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. 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. Ltkebohle, I.: IBM CPLEX Optimizer - United States (2016). http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/. Accessed 10 Apr 2016

  17. Stankovic, J.: Misconceptions about real-time computing: a serious problem for next-generation systems. Computer 21, 10–19 (1988)

    Article  Google Scholar 

  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. Chetto, H., Silly, M., Bouchentouf, T.: Dynamic scheduling of real-time tasks under precedence constraints. Real-Time Syst. 2, 181–194 (1991)

    Article  Google Scholar 

  20. Swaminathan, V., Chakrabarty, K.: Real-time task scheduling for energy-aware embedded systems. J. Franklin Inst. 338, 729–750 (2001)

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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. Harbour, M.G.: Ordonnancement temps reel avec profilsvariables de consommation d’energie. In: Embedded Systems (2004)

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  41. Binder, W., Hulaas, J.: Using bytecode instruction counting as portable cpu consumption metric. Electron. Notes Theoret. Comput. Sci. 153, 57–77 (2006)

    Article  Google Scholar 

  42. Harbour, M.G.: Real-time posix: an overview. In: VVConex 93 International Conference, Moscu. Citeseer (1993)

    Google Scholar 

  43. Brosse, E.: Marte-designer example-ccas - marte user manual (english) - modelio community forge (2011). https://forge.modelio.org/projects/marte-user-manual-english/wiki/marte-designer_example-CCAS. Accessed 1 Nov 2016

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wafa Lakhdhar .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Lakhdhar, W., Mzid, R., Khalgui, M., Treves, N. (2017). A New Approach for Automatic Development of Reconfigurable Real-Time Systems. In: Cabello, E., Cardoso, J., Ludwig, A., Maciaszek, L., van Sinderen, M. (eds) Software Technologies. ICSOFT 2016. Communications in Computer and Information Science, vol 743. Springer, Cham. https://doi.org/10.1007/978-3-319-62569-0_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-62569-0_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-62568-3

  • Online ISBN: 978-3-319-62569-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics