Skip to main content

Advertisement

Log in

Optimizing the deployment of tree-shaped functional graphs of real-time system on distributed architectures

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Recent development methodologies from the industry and the academia for complex real-time systems define a stage in which system functions are deployed onto an execution platform. The deployment consists of the placement of functions on a distributed network of nodes, the partitioning of functions in tasks and the scheduling of tasks and messages. In this paper, we present two approaches towards the efficient deployment of realistic and complex real-time systems by considering tree-shaped functional models. A formal approach to compute optimal deployment and a heuristic approach to scale to industry-size systems. The approaches consider placement, partitioning and scheduling, and are based on mixed integer linear programming (MILP) technique. Furthermore, we present a deep evaluation of the proposed deployment approaches to show the benefits and limits of a MILP-based deployment approach. A set of synthetic use-cases as well as a real-life automotive system are used to assess the quality and scalability of our deployment approaches. Considering use-cases, we show an added value with respect to end-to-end latencies optimization when solving the three stages of the deployment problem at the same time. This is done by comparing the quality of the solutions obtained with our techniques to those returned by the existing approaches.

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
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. Concurrent execution services provided by a real-time operating system (RTOS). A task in our model can be implemented as process/thread.

  2. An algorithm for finding pareto-optimal solutions to multi-objective problems. The initial solution is chosen by solving the set of problem constraints. At each step of the improvement the same problem is addressed. This is not the case of our two-step approach.

  3. Local Device Manager.

  4. The consideration of time metric and constraints is not possible as tasks/messages and priorities are not present at this level.

  5. A synchronized non-linear transaction is a non-linear transaction with exactly one sink function. It is also so-called polar graph (Pop et al. 2004).

  6. A non-synchronized non-linear transaction is a non-linear transaction with more than one sink function.

References

  • Al Sheikh, A., Brun, O., Hladik, P.E., et al.: Partition scheduling on an IMA platform with strict periodicity and communication delays. In: Proceedings of the 18th International Conference on Real-Time and Network Systems, pp. 179–188 (2010)

  • Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Softw. Eng. 39(5), 658–683 (2013)

    Article  Google Scholar 

  • Autosar 4.0 specifications. http://www.autosar.org/. Accessed 2011

  • Azketa, E., Uribe, J., Gutiérrez, J., Marcos, M., Almeida, L.: Permutational genetic algorithm for the optimized assignment of priorities to tasks and messages in distributed real-time systems. In: Proceedings of the 10th IEEE International Conference on Trust, Security and Privacy in Computing and Communications, pp. 958–965 (2011)

  • Azketa, E., Uribe, J.P., Gutiérrez, J.J., Marcos, M., Almeida, L.: Permutational genetic algorithm for the optimized mapping and scheduling of tasks and messages in distributed real-time systems. In: Proceedings of the 2011IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications, TRUSTCOM (2011)

  • Azketa, E., Uribe, J., Marcos, M., Almeida, L., Gutiérrez, J.J.: Permutational genetic algorithm for fixed priority scheduling of distributed real-time systems aided by network segmentation. In: Proceedings of the 1st Workshop on Synthesis and Optimization Methods for Real-time Embedded Systems (SOMRES) (2011)

  • Bartolini, C., Lipari, G., Di Natale, M.: From functional blocks to the synthesis of the architectural model in embedded real-time applications. In: Proceedings of the 11th IEEE Real Time and Embedded Technology and Applications Symposium, pp. 458–467 (2005)

  • Bate, I., Emberson, P.: Incorporating scenarios and heuristics to improve flexibility in real-time embedded systems. In: Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium, pp. 221–230 (2006)

  • Bini, E., Natale, M.D., Buttazzo, G.: Sensitivity analysis for fixed-priority real-time systems. In: Euromicro Conference on Real-Time Systems. Dresden, Germany (2006)

  • Bøgholm, T., Kragh-Hansen, H., Olsen, P.: Model-based schedulability analysis of real-time systems. Master’s thesis, Aalborg University, pp. 1–137 (2008)

  • Bosch, R.: CAN specification, version 2.0. Stuttgart (1991)

  • Boyd, S.P., Vandenberghe, L.: Convex Optimization. Cambridge University Press, Cambridge (2004)

    Book  MATH  Google Scholar 

  • Burns, A., Wellings, A.J.: Real-Time Systems and Programming Languages, vol. 2097. Addison-Wesley, Boston (2010)

    MATH  Google Scholar 

  • Cplex. http://www-01.ibm.com/software/integration/optimization/cplex-optimizer/. Accessed 2012

  • Daghsen, A.: Methodology of analysis and optimization of real-time embedded systems: application to automotive field. Ph.D. thesis (2013)

  • Davis, R., Burns, A., Bril, R., Lukkien, J.: Controller area network (can) schedulability analysis: refuted, revisited and revised. Real-Time Syst. 35(3), 239–272 (2007)

    Article  Google Scholar 

  • Feljan, J., Carlson, J., Seceleanu, T.: Towards a model-based approach for allocating tasks to multicore processors. In: Software Engineering and Advanced Applications (SEAA), 2012 38th EUROMICRO Conference IEEE, pp. 117–124 (2012)

  • García, J.G., Gutiérrez, J.C.P., Harbour, M.G.: Schedulability analysis of distributed hard real-time systems with multiple-event synchronization. In: Real-Time Systems, 2000. Euromicro RTS 2000. 12th Euromicro Conference on IEEE, pp. 15–24 (2000)

  • http://www.maenad.eu/. Accessed 2014

  • http://www.omg.org/. Accessed 2001

  • Hamann, A., Racu, R., Ernst, R.: Multi-dimensional robustness optimization in heterogeneous distributed embedded systems. In: Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium (2007)

  • Hamann, A., Jersak, M., Richter, K., Ernst, R.: A framework for modular analysis and exploration of heterogeneous embedded systems. Real-Time Syst. 33(1–3), 101–137 (2006)

    Article  MATH  Google Scholar 

  • He, X., Gu, Z., Zhu, Y.: Task allocation and optimization of distributed embedded systems with simulated annealing and geometric programming. Comput. J. 53(7), 1071–1091 (2010)

    Article  Google Scholar 

  • Jackson, D., Estler, H., Rayside, D., et al.: The guided improvement algorithm for exact, general-purpose, many-objective combinatorial optimization. Computer science and artificial intelligence laboratory technical report MIT-CSAIL-TR-2009-033, MIT CSAIL (2009)

  • Kienhuis, B., Deprettere, E., Van Der Wolf, P., Vissers, K.: A methodology to design programmable embedded systems. In: Embedded Processor Design Challenges, pp. 321–324. Springer (2002)

  • Klein, M.H., Ralya, T., Pollak, B., Obenza, R.: A Practitioner’s Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems. Kluwer Academic Publishers, Berlin (1993)

    Book  Google Scholar 

  • Kodase, S., Wang, S., Shin, K.: Transforming structural model to runtime model of embedded software with real-time constraints. In: Proceedings of the Conference on Design, Automation and Test in Europe, pp. 170–175 (2003)

  • Kugele, S., Haberl, W., Tautschnig, M., Wechs, M.: Optimizing automatic deployment using non-functional requirement annotations. In: Leveraging Applications of Formal Methods, Verification and Validation, pp. 400–414. Springer (2009)

  • Kugele, S., Pucea, G., Popa, R., Dieudonné, L., Eckardt, H.: On the deployment problem of embedded systems. In: Formal Methods and Models for Codesign (MEMOCODE), 2015 ACM/IEEE International Conference on IEEE, pp. 158–167 (2015)

  • Kugele, S., Pucea, G.: Model-based optimization of automotive e/e-architectures. In: Proceedings of the 6th International Workshop on Constraints in Software Testing, Verification, and Analysis, pp. 18–29. ACM (2014)

  • Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20(1), 46–61 (1973)

    Article  MathSciNet  MATH  Google Scholar 

  • Long, R., Li, H., Peng, W., Zhang, Y., Zhao, M.: An approach to optimize intra-ECU communication based on mapping of autosar runnable entities. In: Embedded Software and Systems, 2009. ICESS’09. International Conference on IEEE, pp. 138–143 (2009)

  • Mehiaoui, A., Tucci-Piergiovanni, S., Babau, J., Lemarchand, L.: Optimizing the deployment of distributed real-time embedded applications. In: Embedded and Real-Time Computing Systems and Applications (RTCSA), 2012 IEEE 18th International Conference on IEEE, pp. 400–403 (2012)

  • Mehiaoui, A., Tucci-Piergiovanni, S., Mraidha, C., Babau, J.P.: Extending response-time analysis for the automatic synthesis of functional graphs into fixed-priority distributed systems. In: Industrial Embedded Systems (SIES), 2014 9th IEEE International Symposium on IEEE, pp. 122–132 (2014)

  • Mehiaoui, A., Wozniak, E., Tucci-Piergiovanni, S., Mraidha, C., Di Natale, M., Zeng, H., Babau, J.P., Lemarchand, L., Gerard, S.: A two-step optimization technique for functions placement, partitioning, and priority assignment in distributed systems. In: Proceedings of the 14th ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems, pp. 121–132. ACM (2013)

  • OSEK/VDX. http://www.osek-vdx.org/. Accessed 1994

  • Palencia, J.C., Harbour, M.G.: Exploiting precedence relations in the schedulability analysis of distributed real-time systems. In: Proceedings of the 20th IEEE Real-Time Systems Symposium (1999)

  • Peng, W., Li, H., Yao, M., Sun, Z.: Deployment optimization for autosar system configuration. In: Computer Engineering and Technology (ICCET), 2010 2nd International Conference on IEEE, vol. 4, pp. V4–189 (2010)

  • Peraldi-Frati, M.A., Karlsson, D., Hamann, A., Kuntz, S., Nordlander, J., et al.: The timmo-2-use project: Time modeling and analysis to use. In: ERTS2012 International Congres on Embedded Real Time Software and Systems (2012)

  • Pohl, K., Broy, M., Daembkes, H., Hönninger, H.: Advanced model-based engineering of embedded systems. In: Advanced Model-Based Engineering of Embedded Systems, pp. 3–9. Springer (2016)

  • Pop, P., Eles, P., Peng, Z., Pop, T.: Analysis and optimization of distributed real-time embedded systems. In: ACM Transactions on Design Automation of Electronic Systems (TODAES), vol. 11, pp. 593–625. ACM (2004)

  • Pop, T., Eles, P., Peng, Z.: Design optimization of mixed time/event-triggered distributed embedded systems. In: Proceedings of the First IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (2003)

  • Racu, R., Jersak, M., Ernst, R.: Applying sensitivity analysis in real-time distributed systems. In: Proceedings of the 11th IEEE Real Time on Embedded Technology and Applications Symposium, pp. 160–169 (2005)

  • Richard, M., Richard, P., Cottet, F.: Allocating and scheduling tasks in multiple fieldbus real-time systems. In: Proceedings of the IEEE Conference on Emerging Technologies and Factory Automation. IEEE (2003)

  • Saksena, M., Karvelas, P., Wang, Y.: Automatic synthesis of multi-tasking implementations from real-time object-oriented models. In: Proceedings of 3rd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, pp. 360–367 (2000)

  • Sangiovanni-Vincentelli, A., Martin, G.: Platform-based design and software design methodology for embedded systems. IEEE Des. Test Comput. 18(6), 23–33 (2001)

    Article  Google Scholar 

  • Sorel, Y.: Syndex: system-level cad software for optimizing distributed real-time embedded systems. J. ERCIM News 59(68–69), 31 (2004)

    Google Scholar 

  • Tindell, K., Clark, J.: Holistic schedulability analysis for distributed hard real-time systems. Microprocess. Microprogram 40(2), 117–134 (1994)

    Article  Google Scholar 

  • Wang, S., Merrick, J.R., Shin, K.G.: Component allocation with multiple resource constraints for large embedded real-time software design. In: Real-Time and Embedded Technology and Applications Symposium, 2004. Proceedings of RTAS 2004, 10th IEEE, pp. 219–226 (2004)

  • Wang, S., Shin, K.: Task construction for model-based design of embedded control software. Softw. Eng. IEEE Trans. 32(4), 254–264 (2006)

    Article  Google Scholar 

  • Wozniak, E., Mehiaoui, A., Mraidha, C., Tucci-Piergiovanni, S., Gerard, S.: An optimization approach for the synthesis of autosar architectures. In: Emerging Technologies & Factory Automation (ETFA), 2013 IEEE 18th Conference on IEEE, pp. 1–10 (2013)

  • Wozniak, E., Mehiaoui, A., Mraidha, C., Tucci-Piergiovanni, S., Gerard, S.: An optimization approach for the synthesis of autosar architectures. In: Emerging Technologies Factory Automation (ETFA), 2013 IEEE 18th Conference, pp. 1–10 (2013). https://doi.org/10.1109/ETFA.2013.6647952

  • Zeller, M., Prehofer, C., Weiss, G., Eilers, D., Knorr, R.: Towards self-adaptation in real-time, networked systems: efficient solving of system constraints for automotive embedded systems. In: Self-adaptive and Self-Organizing Systems (SASO), 2011 Fifth IEEE International Conference on IEEE, pp. 79–88 (2011)

  • Zhang, M., Gu, Z.: Optimization issues in mapping autosar components to distributed multithreaded implementations. In: Rapid System Prototyping (RSP), 2011 22nd IEEE International Symposium on IEEE, pp. 23–29 (2011)

  • Zheng, W., Di Natale, M., Pinello, C., Giusto, P., Vincentelli, A.S.: Synthesis of task and message activation models in real-time distributed automotive systems. In: Proceedings of the Conference on Design, Automation and Test in Europe, EDA Consortium, pp. 93–98 (2007)

  • Zheng, W., Zhu, Q., Di Natale, M., Vincentelli, A.S.: Definition of task allocation and priority assignment in hard real-time distributed systems. In: Real-Time Systems Symposium, 2007, RTSS 2007, 28th IEEE International IEEE, pp. 161–170 (2007)

  • Zhu, Q., Yang, Y., Scholte, E., Di Natale, M., Sangiovanni-Vincentelli, A.: Optimizing extensibility in hard real-time distributed systems. In: Real-Time and Embedded Technology and Applications Symposium, 2009, RTAS 2009, 15th IEEE, pp. 275–284 (2009)

  • Zhu, Q., Yang, Y., Natale, M., Scholte, E., Sangiovanni-Vincentelli, A.: Optimizing the software architecture for extensibility in hard real-time distributed systems. IEEE Trans. Ind. Inf. 6(4), 621–636 (2010)

    Article  Google Scholar 

  • Zhu, Q., Zeng, H., Zheng, W., Di Natale, M., Sangiovanni-Vincentelli, A.: Optimization of task allocation and priority assignment in hard real-time distributed systems. ACM Trans. Embed. Comput. Syst. 11(4), 85:1–85:3 (2012)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Asma Mehiaoui.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A Appendix: The complete MILP formulation for the PP and PS stages of the two-step optimization approach

A Appendix: The complete MILP formulation for the PP and PS stages of the two-step optimization approach

This section details the MILP formulation for each sub problem of the two-step deployment approach. The objective function to optimize is expressed in the same way in the formulations of both sub-problems, it analogous to the one defined for the integrated MILP formulation, in Sect. 4:

$$\begin{aligned} Minimize: \frac{ \sum _{\rho _i \in \gamma } L_i}{\# \gamma } \end{aligned}$$

1.1 A.1 MILP formulation of the placement problem PP

The objective of this step is optimizing the placement of either an initial configuration or the output of the previous iteration. The parameters are the priorities assigned to functions and signals.

  1. 1.

    Placement of functions on nodes

    $$\begin{aligned} {{\left\{ \begin{array}{ll} \forall i \in F: \displaystyle \sum _{j\in C(i)} A_{i,j} =1 \\ \forall i \in F: \displaystyle \sum _{j \in C {\setminus } \{C(i)\}} A_{i,j}=0 \\ \forall i,j \in F, k \in C: 0 \le A_{i,k} + A_{j,k} - \left( 2 \cdot X_{i,j,k}\right) \le 1 \\ \forall j \in C: \displaystyle \sum _{i \in F} A_{i,j} \left( \frac{\omega _{i,j}}{ P_{i}} \right) \le \eta _{j} \\ \end{array}\right. }} \end{aligned}$$
  2. 2.

    Placement of signals on buses

    $$\begin{aligned} {{\left\{ \begin{array}{ll} \forall i \in \varPhi : \displaystyle \sum _{j\in \beta } AS_{i,j} = G_{i} \\ \forall i \in \varPhi , j \in rec(i): 1- \displaystyle \sum _{k\in C} X_{snd(i),j,k} = G_{i}\\ \forall i,j \in \varPhi , k \in \beta : 0 \le AS_{i,k} + AS_{j,k} - \left( 2 \cdot XS_{i,j,k}\right) \le 1 \\ \forall i \in \varPhi , j \in rec(i), b \in \beta : 0 \le G_{i}+\displaystyle \sum _{k \in NB(b)} A_{snd(i),k} + \displaystyle \sum _{k \in NB(b)} A_{j,k} - 3 \cdot AS_{i,b} \le 3 \\ \forall j \in \beta : \displaystyle \sum _{i \in \varPhi } AS_{i,j} \left( \frac{\omega _{i,j}}{ P_{i}} \right) \le \eta _{j}\\ \forall i,j \in \varPhi , \pi _i = \pi _j: \displaystyle \sum _{k \in \beta } XS_{i,j,k} \le \sum _{k \in C} X_{snd(i),snd(j),k}\\ \end{array}\right. }} \end{aligned}$$
  3. 3.

    Functions WCRT computation

    $$\begin{aligned} {{\left\{ \begin{array}{ll} \forall i \in F: R_{i} =W_{i} + J_{i}\\ \forall i,j \in F: 0 \le \sigma _{i,j}- \left( \frac{W_{i}+J_{j}}{P_{j}}\right) < 1 \\ \forall i,j \in F, \pi j> \pi _i: \sigma _{i,j}- M \left( 1- \displaystyle \sum _{k \in C} X_{i,j,k}\right) \le I_{i,j} \\ \forall i,j \in F, \pi j> \pi _i: I_{i,j} \le \sigma _{i,j} \\ \forall i,j \in F, \pi j> \pi _i: I_{i,j} \le M \cdot \displaystyle \sum _{k \in C} X_{i,j,k} \\ \forall i \in F: W_{i}= \displaystyle \sum _{k \in C} A_{i,k}\left( \omega _{i,k}+2 \cdot cs\right) + \displaystyle \sum _{\underset{\pi _{j}=\pi _{i}}{j \in F{\setminus } \{i\}:}} \displaystyle \sum _{k \in C} X_{i,j,k} \cdot \omega _{j,k} \\ \quad \quad \quad \quad \quad \quad \quad \quad + \displaystyle \sum _{ \begin{array}{c} {j \in F:} \\ { \xi _{i,j}=1}\\ {\pi _{j}>\pi _{i}} \end{array}} \sum _{k \in C} I_{i,j} \left( \omega _{j,k}+2 \cdot cs\right) \\ \forall i \in \gamma , j \in F, j=snk_{(i)}: L_i\ge R_j \\ \forall i \in \gamma : L_i\le D_i \\ \forall j \in \varPhi , i \in rec(j): \phi _{i} \ge RS_{j} \\ \forall i,j \in F , \pi _i = \pi _j : \phi _{j}- M \left( 1- \displaystyle \sum _{k \in C} X_{i,j,k}\right) \le \theta _{i,j} \\ \forall i,j \in F, \pi _i = \pi _j : \theta _{i,j} \le \phi _{j}\\ \forall i,j \in F, \pi _i = \pi _j :\theta _{i,j} \le M \cdot \displaystyle \sum _{k \in C} X_{i,j,k} \\ \forall i,j \in F, \pi _j = \pi _i: J_{i} \ge \theta _{i,j} \\ \end{array}\right. }} \end{aligned}$$
  4. 4.

    Signals WCRT computation

    $$\begin{aligned} {{\left\{ \begin{array}{ll} \forall i \in \varPhi : RS_{i} = WS_{i} + \displaystyle \sum _{k \in \beta } AS_{i,k} \cdot \omega _{i,k}+ \displaystyle \sum _{\begin{array}{c} {j \in \varPhi {\setminus } \{i\}:} \\ {\pi _i =\pi _j} \end{array}} \sum _{k \in \beta } XS_{i,j,k} \cdot \omega _{j,k} + JS_{i} \\ \forall i,j \in \varPhi : 0 \le \sigma {s_{i,j}}- \left( \frac{WS_{i}+JS_{j}}{P_{j}}\right)< 1 \\ \forall i,j \in \varPhi , \pi j> \pi _i : \sigma {s_{i,j}}- M\left( 1- \displaystyle \sum _{k \in \beta } XS_{i,j,k}\right) \le IS_{i,j} \\ \forall i,j \in \varPhi , \pi j> \pi _i : IS_{i,j} \le \sigma {s_{i,j}} \\ \forall i,j \in \varPhi , \pi j> \pi _i : IS_{i,j} \le M \cdot \displaystyle \sum _{k \in \beta }XS_{i,j,k} \\ \forall i,j \in \varPhi , \pi _j < \pi _i, k \in \beta : BS_{i,k} \ge XS_{i,j,k} \cdot \omega _{j,k} + \displaystyle \sum _{ \underset{\pi _j = \pi _l}{l \in \varPhi {\setminus } \{i,j\}\}:}} XS_{j,l,k} \cdot \omega _{l,k} \\ \forall i \in \varPhi , k \in \beta : BS_{i,k} \ge \displaystyle \sum _{ \underset{\pi _i = \pi _j}{j \in \varPhi :}} XS_{i,j,k} \cdot \omega _{j,k}\\ \forall i \in \varPhi : WS_{i}= \displaystyle \sum _{k \in \beta } BS_{i,k} + \displaystyle \sum _{ \begin{array}{c} {j \in \varPhi :} \\ {\pi _j > \pi _i} \\ {\xi S_{i,j}=1} \end{array}} \sum _{k \in \beta } IS_{i,j} \cdot \omega _{j,k} \\ \forall i \in \varPhi : R_{snd(i)}-M \left( 1- (1-G_i)\right) \le \alpha _i \\ \forall i \in \varPhi : \alpha _i \le R_{snd(i)}\\ \forall i \in \varPhi : \alpha _i \le M (1-G_i)\\ \forall i \in \varPhi : J_{snd(i)}-M\left( 1- (1-G_i)\right) \le \zeta _i \\ \forall i \in \varPhi : \zeta _i \le J_{snd(i)}\\ \forall i \in \varPhi : \zeta _i \le M\left( 1-G_i\right) \\ \forall i \in \varPhi , j \in rec(i): JS_i \ge \alpha _{i}\left( 1-SP_{snd(i),j}\right) + \zeta _i \cdot SP_{snd(i),j} \\ \forall i,j \in \varPhi : JS_i \ge \varLambda _{i,j}\\ \forall i,j \in \varPhi , \pi _j = \pi _i : R_{snd(j)} -M\left( 1-\displaystyle \sum _{k \in \beta }XS_{i,j,k}\right) \le \varLambda _{i,j}\\ \forall i,j \in \varPhi , \pi _j = \pi _i : \varLambda _{i,j} \le R_{snd(j)}\\ \forall i,j \in \varPhi , \pi _j = \pi _i : \varLambda _{i,j} \le M \cdot \displaystyle \sum _{k \in C}XS_{i,j,k} \\ \end{array}\right. }} \end{aligned}$$

The result of this PP MILP formulation consists of a placement of functions and signals which will be the input for the next stage.

1.2 A.2 MILP formulation for the partitioning and scheduling problem PS

At this stage, the placement of functions and signals is given and the following MILP formulation aims at improving (if possible) the partitioning and scheduling. The MILP formulation assigns priority orders to functions and signals within each node and bus, then tasks and messages are constructed based on priorities, i.e. a task (message) is the set of functions (signals) with the same priority order residing on the same node (bus).

  1. 1.

    Functions partitioning and scheduling

    $$\begin{aligned} {{\left\{ \begin{array}{ll} \forall i,j \in F: \psi _{i,j}+\psi _{j,i} \le 1 \\ \forall i,j,k \in F: \psi _{i,j}+\psi _{j,k} - 1 \le \psi _{i,k} \\ \forall i,j,k \in F: \psi _{i,j}- \left( \psi _{j,k}+ \psi _{k,j}\right) \le \psi _{i,k} \\ \forall i,j,k \in F: \psi _{j,k}- \left( \psi _{j,i}+ \psi _{i,j}\right) \le \psi _{i,k} \\ \forall i,j,k \in F: \psi _{i,j} + \psi _{j,i}+ \psi _{j,k}+ \psi _{k,j} \ge \psi _{i,k} \\ \forall i,j,k \in F: \psi _{i,j} + \psi _{j,i}+ \psi _{j,k}+ \psi _{k,j} \ge \psi _{k,i} \\ \forall i,j \in F: 1= SP_{i,j}+\psi _{j,i}+\psi _{i,j} \\ \text {A binary variable } SP_{i,j}\text { denotes whether}\\ f_i\text {/}s_i\text { and }f_j\text {/}s_j\text { have the same priority order.} \end{array}\right. }} \end{aligned}$$
  2. 2.

    Signals partitioning and scheduling

    $$\begin{aligned} {{\left\{ \begin{array}{ll} \forall i,j \in \varPhi : \psi S_{i,j}+\psi S_{j,i} \le 1 \\ \forall i,j,k \in \varPhi : \psi S_{i,j}+\psi S_{j,k} - 1 \le \psi S_{i,k} \\ \forall i,j,k \in \varPhi : \psi S_{i,j}- \left( \psi S_{j,k}+ \psi _{k,j}\right) \le \psi S_{i,k} \\ \forall i,j,k \in \varPhi : \psi S_{j,k}- \left( \psi S_{j,i}+ \psi _{i,j}\right) \le \psi S_{i,k} \\ \forall i,j,k \in \varPhi : \psi S_{i,j} + \psi S_{j,i}+ \psi _{j,k}+ \psi S_{k,j} \ge \psi S_{i,k} \\ \forall i,j,k \in \varPhi : \psi S_{i,j} + \psi S_{j,i}+ \psi S_{j,k}+ \psi S_{k,j} \ge \psi S_{k,i} \\ \forall i,j \in \varPhi : 1= SPS_{i,j}+\psi S_{j,i}+\psi S_{i,j} \\ \forall i \in \varPhi , j,k \in rec(i), SN_{j,k}=1 : SP_{snd(i),j}- SP_{snd(i),k}=0 \\ \forall i,j \in \varPhi , \varOmega _{i} = \varOmega _{j}, SN_{snd(i),snd(j)}=0 : SPS_{i,j} =0 \end{array}\right. }} \end{aligned}$$
  3. 3.

    Functions WCRT computation

    $$\begin{aligned} {{\left\{ \begin{array}{ll} \forall i \in F: R_{i} =W_{i} + J_{i}\\ \forall i,j \in F: 0 \le \sigma _{i,j}- \left( \frac{W_{i}+J_{j}}{P_{j}}\right) < 1 \\ \forall i,j \in F, SN_{i,j} = 1: \sigma _{i,j}- M \left( 1- \psi _{j,i}\right) \le I_{i,j} \\ \forall i,j \in F, SN_{i,j} = 1: I_{i,j} \le \sigma _{i,j} \\ \forall i,j \in F, SN_{i,j} = 1: I_{i,j} \le M \cdot \psi _{j,i} \\ \forall i \in F, node of i=k: W_{i}= \omega _{i,k}+ 2 \cdot cs + \displaystyle \sum _{\begin{array}{c} {j \in F{\setminus } \{i\}:}\\ {SN_{i,j}=1} \end{array}} SP_{i,j} \cdot \omega _{j,k} \\ \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \,+ \displaystyle \sum _{ \begin{array}{c} {j \in F:} { \xi _{i,j}=1}\\ {SN_{i,j}=1} \end{array}} \sum _{k \in C} I_{i,j} \left( \omega _{j,k}+2 \cdot cs\right) \\ \forall i \in \gamma , j \in F, j=snk_{(i)}: L_i\ge R_j \\ \forall i \in \gamma : L_i\le D_i \\ \forall j \in \varPhi , i \in rec(j): \phi _{i} \ge RS_{j} \\ \forall i,j \in F, SN_{i,j} = 1: \phi _{j}- M \left( 1- SP_{i,j}\right) \le \theta _{i,j} \\ \forall i,j \in F, SN_{i,j} = 1 : \theta _{i,j} \le \phi _{j}\\ \forall i,j \in F, SN_{i,j} = 1 :\theta _{i,j} \le M \cdot SP_{i,j} \\ \forall i,j \in F, SN_{i,j} = 1: J_{i} \ge \theta _{i,j} \\ \end{array}\right. }} \end{aligned}$$
  4. 4.

    Signals WCRT computation

    $$\begin{aligned} {{\left\{ \begin{array}{ll} \forall i \in \varPhi , \varOmega _i = k : RS_{i} = WS_{i} + \omega _{i,k} \cdot G_i +\displaystyle \sum _{\begin{array}{c} {j \in \varPhi {\setminus } \{i\}:} \\ \varOmega _j = k \end{array}} SPS_{i,j} \cdot \omega _{j,k} + JS_{i} \\ \forall i,j \in \varPhi : 0 \le \sigma {s_{i,j}}- \left( \frac{WS_{i}+JS_{j}}{P_{j}}\right) < 1 \\ \forall i,j \in \varPhi ,\varOmega _i = \varOmega _j : \sigma {s_{i,j}}- M\left( 1- \psi S_{j,i}\right) \le IS_{i,j} \\ \forall i,j \in \varPhi ,\varOmega _i = \varOmega _j : IS_{i,j} \le \sigma {s_{i,j}} \\ \forall i,j \in \varPhi ,\varOmega _i = \varOmega _j : IS_{i,j} \le M \cdot \psi S_{j,i}\\ \forall i \in \varPhi , G_i=0: BS_i =0 \\ \forall i,j \in \varPhi , \varOmega _i = \varOmega _j =k : BS_{i} \ge \psi S_{i,j} \cdot \omega _{j,k} + \displaystyle \sum _{ \underset{\varOmega _j = \varOmega _l}{l \in \varPhi {\setminus } \{i,j\}:}} SPS_{j,l} \cdot \omega _{l,k} \\ \forall i,j \in \varPhi : BS_{i} \ge \displaystyle \sum _{ \underset{\varOmega _i = \varOmega _j = k}{j \in \varPhi :}} SPS_{i,j} \cdot \omega _{j,k} \forall i \in \varPhi : WS_{i}= BS_{i} + \displaystyle \sum _{ \begin{array}{c} {j \in \varPhi :} \\ {\varOmega _j = \varOmega _i=k} \\ {\xi S_{i,j}=1} \end{array}} IS_{i,j} \cdot \omega _{j,k} \\ \forall i \in \varPhi ,j \in rec(i), G_i =0: R_{snd(i)}-M \left( 1- (1-SP_{snd(i),j})\right) \le \alpha _i \\ \forall i \in \varPhi : \alpha _i \le R_{snd(i)}\\ \forall i \in \varPhi : \alpha _i \le M \left( 1-SP_{snd(i),j}\right) \\ \forall i \in \varPhi : J_{snd(i)}-M \left( 1- SP_{snd(i),j} \right) \le \zeta _i \\ \forall i \in \varPhi : \zeta _i \le J_{snd(i)}\\ \forall i \in \varPhi : \zeta _i \le M \cdot SP_{snd(i),j}\\ \forall i \in \varPhi G_i = 0: JS_i = \alpha _{i} +\zeta _i \\ \forall i,j \in \varPhi , G_i=1 : JS_i \ge \varLambda _{i,j}\\ \forall i,j \in \varPhi , \varOmega _j = \varOmega _i : R_{snd(j)} -M\left( 1-SPS_{i,j}\right) \le \varLambda _{i,j}\\ \forall i,j \in \varPhi , \varOmega _j = \varOmega _i : \varLambda _{i,j} \le R_{snd(j)}\\ \forall i,j \in \varPhi , \varOmega _j = \varOmega _i : \varLambda _{i,j} \le M \cdot SPS_{i,j} \\ \end{array}\right. }} \end{aligned}$$

This MILP formulation returns as output a set of functions (signal) partitions as well as a priority order for each partition (task or message) on each node (bus).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mehiaoui, A., Wozniak, E., Babau, JP. et al. Optimizing the deployment of tree-shaped functional graphs of real-time system on distributed architectures. Autom Softw Eng 26, 1–57 (2019). https://doi.org/10.1007/s10515-018-0244-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-018-0244-7

Keywords

Navigation