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.
Similar content being viewed by others
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
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)
Cottet, F., Grolleau, E.: Systmes Temps Réel de Contrôle-Commande. Dunod, Paris (2005)
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
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)
Baruah, S., Goossens, J.: Scheduling real-time tasks: Algorithms and complexity. Handb. Sched.: Algorithms Models Perform. Anal. 3 (2004)
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)
Liu, C., Layland, J.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM (JACM) 20, 46–61 (1973)
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)
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)
Woźniak, E.: Model-based synthesis of distributed real-time automotive architectures. Ph.D. thesis, Université Paris Sud-Paris XI
Marinca, D., Minet, P., George, L.: Analysis of deadline assignment methods in distributed real-time systems. Comput. Commun. 27, 1412–1423 (2004)
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)
Lewine, D.: POSIX programmers guide. O’Reilly Media Inc., USA (1991)
Obenland, K.M.: The Use of Posix in Real-time Systems, Assessing its Effectiveness and Performance. The MITRE Corporation, McLean (2000)
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)
Ltkebohle, I.: IBM CPLEX Optimizer - United States (2016). http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/. Accessed 10 Apr 2016
Stankovic, J.: Misconceptions about real-time computing: a serious problem for next-generation systems. Computer 21, 10–19 (1988)
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)
Chetto, H., Silly, M., Bouchentouf, T.: Dynamic scheduling of real-time tasks under precedence constraints. Real-Time Syst. 2, 181–194 (1991)
Swaminathan, V., Chakrabarty, K.: Real-time task scheduling for energy-aware embedded systems. J. Franklin Inst. 338, 729–750 (2001)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Harbour, M.G.: Ordonnancement temps reel avec profilsvariables de consommation d’energie. In: Embedded Systems (2004)
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)
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
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)
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)
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)
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)
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)
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)
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)
Binder, W., Hulaas, J.: Using bytecode instruction counting as portable cpu consumption metric. Electron. Notes Theoret. Comput. Sci. 153, 57–77 (2006)
Harbour, M.G.: Real-time posix: an overview. In: VVConex 93 International Conference, Moscu. Citeseer (1993)
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)