Network calculus

From Wikipedia, the free encyclopedia

Network calculus is "a set of mathematical results which give insights into man-made systems such as concurrent programs, digital circuits and communication networks."[1] Network calculus gives a theoretical framework for analysing performance guarantees in computer networks. As traffic flows through a network it is subject to constraints imposed by the system components, for example:

These constraints can be expressed and analysed with network calculus methods. Constraint curves can be combined using convolution under min-plus algebra. Network calculus can also be used to express traffic arrival and departure functions as well as service curves.

The calculus uses "alternate algebras ... to transform complex non-linear network systems into analytically tractable linear systems."[2]

Currently, there exists two branches in network calculus: one handling deterministic bounded, and one handling stochastic bounds.[3]

System modelling[edit]

Modelling flow and server[edit]

In network calculus, a flow is modelled as cumulative functions A, where A(t) represents the amount of data (number of bits for example) sent by the flow in the interval [0,t). Such functions are non-negative and non-decreasing. The time domain is often the set of non negative reals.

Arrival and departure curve at ingress and egress of a server.

A server can be a link, a scheduler, a traffic shaper, or a whole network. It is simply modelled as a relation between some arrival cumulative curve A and some departure cumulative curve D. It is required that A ≥ D, to model the fact that the departure of some data can not occur before its arrival.

Modelling backlog and delay[edit]

Given some arrival and departure curve A and D, the backlog at any instant t, denoted b(A,D,t) can be defined as the difference between A and D. The delay at t, d(A,D,t) is defined as the minimal amount of time such that the departure function reached the arrival function. When considering the whole flows, the supremum of these values is used.

Horizontal and vertical deviation between arrival and departure cumulative curves

In general, the flows are not exactly known, and only some constraints on flows and servers are known (like the maximal number of packet sent on some period, the maximal size of packets, the minimal link bandwidth). The aim of network calculus is to compute upper bounds on delay and backlog, based on these constraints. To do so, network calculus uses the min-plus algebra.

Min-plus Semiring[edit]

Network calculus makes an intensive use on the min-plus semiring (sometimes called min-plus algebra).

In filter theory and linear systems theory the convolution of two functions and is defined as

In min-plus semiring the sum is replaced by the minimum respectively infimum operator and the product is replaced by the sum. So the min-plus convolution of two functions and becomes

e.g. see the definition of service curves. Convolution and min-plus convolution share many algebraic properties. In particular both are commutative and associative.

A so-called min-plus de-convolution operation is defined as

e.g. as used in the definition of traffic envelopes.

The vertical and horizontal deviations can be expressed in terms of min-plus operators.

Traffic envelopes[edit]

Cumulative curves are real behaviours, unknown at design time. What is known is some constraint. Network calculus uses the notion of traffic envelope, also known as arrival curves.

A cumulative function A is said to conform to an envelope E (also called arrival curve and denoted α) , if for all t it holds that

Two equivalent definitions can be given

 

 

 

 

(1)

 

 

 

 

(2)

Thus, E places an upper constraint on flow A. Such function E can be seen as an envelope that specifies an upper bound on the number of bits of flow seen in any interval of length d starting at an arbitrary t, cf. eq. (1).

Service curves[edit]

In order to provide performance guarantees to traffic flows it is necessary to specify some minimal performance of the server (depending on reservations in the network, or scheduling policy, etc.). Service curves provide a means of expressing resource availability. Several kinds of service curves exists, like weakly strict, variable capacity node, etc. See [4] [5] for an overview.

Minimal service[edit]

Let A be an arrival flow, arriving at the ingress of a server, and D be the flow departing at the egress. The system is said to provide a simple minimal service curve S to the pair (A,B), if for all t it holds that

Strict minimal service[edit]

Let A be an arrival flow, arriving at the ingress of a server, and D be the flow departing at the egress. A backlog period is an interval I such that, on any t ∈ I, A(t)>D(t).

The system is said to provide a strict minimal service curve S to the pair (A,B) iff, , such that , if is a backlog period, then .

If a server offers a strict minimal service of curve S, it also offers a simple minimal service of curve S.

Notations[edit]

Depending on the authors, on the purpose of the paper, different notations or even names are used for the same notion.

Main notations in network calculus
Notions name(s) Notations Comments
Cumulative curve The first papers where using ,[1] but is used for Flow, and for Arrival.
Input/output pair of curves , , The input/output curve pair was initially denoted . The naming stands for Arrival and Departure. Then naming names input and output flows.
Envelope, Arrival curve Authors using the term 'Envelope' also use , and conversely with 'Arrival curve' and .
Service curve Authors in general use either both or both
Delay, Horizontal deviation The term 'horizontal deviation' emphasizes on the mathematical definition, whereas 'delay' emphasizes on the semantics.
Backlog, vertical deviation The term 'vertical deviation' emphasizes on the mathematical definition, whereas 'backlog' emphasizes on the semantics.
Convolution
Deconvolution

Basic results: Performance bounds and envelope propagation[edit]

From traffic envelope and service curves, some bounds on the delay and backlog, and an envelope on the departure flow can be computed.

Let A be an arrival flow, arriving at the ingress of a server, and D be the flow departing at the egress. If the flow as a traffic envelope E, and the server provides a minimal service of curve S, then the backlog and delay can be bounded:

Moreover, the departure curve has envelope .

Moreover, these bounds are tight i.e. given some E, and S, one may build an arrival and departure such that b(A,D) = b(E,S) and v(A,D)=v(E,S).

Concatenation / PBOO[edit]

Consider a sequence of two servers, when the output of the first one is the input of the second one. This sequence can be seen as a new server, built as the concatenation of the two other ones.

Then, if the first (resp. second) server offers a simple minimal service (resp. ), then, the concatenation of both offers a simple minimal service .

Sequence of two servers

The proof does iterative application of the definition of service curves , and some properties of convolution, isotonicity (), and associativity ().

The interest of this result is that the end-to-end delay bound is not greater than the sum of local delays: .

This result is known as Pay burst only once (PBOO).

Tools[edit]

There are several tools based on network calculus. A comparison can be found in.[6]

Min-plus computation[edit]

There exist several tools and library devoted to the min-plus algebra.

  • The Network calculus interpreter is an on-line (min,+) interpreter.
  • Nancy is a C# library implementing min-plus and max-plus operations.[7]
  • The MIN-plus ExpRession VErification (Minerve) is a Coq library used to check validity of min-plus operations.[8]

All these tools and library are based on the algorithms presented in.[9]

Network analysis tools[edit]

  • The DiscoDNC is an academic Java implementation of the network calculus framework.[10]
  • The RTC Toolbox is an academic Java/MATLAB implementation of the Real-Time calculus framework, a theory quasi equivalent to network calculus.[4][11]
  • The CyNC[12] tool is an academic MATLAB/Symulink toolbox, based on top of the RTC Toolbox. The tool was developed in 2004-2008 and it is currently used for teaching at Aalborg university.
  • The RTaW-PEGASE is an industrial tool devoted to timing analysis tool of switched Ethernet network (AFDX, industrial and automotive Ethernet), based on network calculus.[13]
  • The WOPANets is an academic tool combining network calculus based analysis and optimization analysis.[14]
  • The DelayLyzer is an industrial tool designed to compute bounds for Profinet networks.[15]
  • DEBORAH is an academic tool devoted to FIFO networks.[16]
  • NetCalBounds is an academic tool devoted to blind & FIFO tandem networks.[17][18]
  • NCBounds is a network calculus tool in Python, published under BSD 3-Clause License. It considers rate-latency servers and token-bucket arrival curves. It handles any topology, including cyclic ones.[19]
  • The Siemens Network Planner (SINETPLAN) uses network calculus (among other methods) to help the design of a PROFINET network.[20]
  • experimental modular TFA (xTFA) is a Python code, support of the PhD thesis of Ludovic Thomas[21]
  • Panco is a Python code that computes network calculus bounds with linear programming methods.
  • Saihu is a Python interface that integrates three worst-case network analysis tools: xTFA, DiscoDNC, and Panco.
  • CCAC is an SMT-solver based tool to verify the performance properties of congestion control algorithms (CCAs) using a network-calculus-like model

Events[edit]

WoNeCa workshop is a Workshop on Network Calculus. It is organized every two years to bring together researchers with an interest in the theory of network calculus as well as those who want to apply existing results to new applications. The workshop also serves to promote the network calculus theory to researchers with an interest in applied queueing models.

  • WoNeCa6, hosted by EPFL, is scheduled on September 8 and 9th, 2022 in Lausanne, Switzerland. Call for presentation here.
  • WoNeCa5 was held virtually due to the COVID-19 pandemic on October 9, 2020.
  • WoNeCa4 was organized in conjunction with the 19th International GI/ITG Conference on Measurement, Modelling and Evaluation of Computing Systems (MMB2018) on February 28, 2018, in Erlangen, Germany.
  • WoNeCa3 was held in as a part of the MMB & DFT 2016 conference on April 6, 2016, in Müster, Germany.
  • WoNeCa2 was held within the MMB & DFT 2014 conference on March 19, 2014, in Bamberg, Germany.
  • WoNeCa1 was hosted by University of Kaiserslautern and was held as a part of MMB2012 on March 21, 2012, in Kaiserslautern, Germany.

In 2018, International Workshop on Network Calculus and Applications (NetCal 2018) was held in Vienna, Austria as a part of the 30th International Teletraffic Congress (ITC 30).

In 2024, the network calculus Dagstuhl seminar (24141) was held from 1st April to 4th April in Dagstuhl, Germany.

References[edit]

Books, Surveys, and Tutorials on Network Calculus
Related books on the max-plus algebra or on convex minimization
  • R. T. Rockafellar: Convex analysis, Princeton University Press, 1972.
  • F. Baccelli, G. Cohen, G. J. Olsder, and J.-P. Quadrat: Synchronization and Linearity: An Algebra for Discrete Event Systems, Wiley, 1992.
  • V. N. Kolokol'tsov, Victor P. Maslov: Idempotent Analysis and Its Applications, Springer, 1997. ISBN 0792345096.
Deterministic network calculus
  • R. L. Cruz: A Calculus for Network Delay. Part I: Network Elements in Isolation and Part II: Network Analysis, IEEE Transactions on Information Theory, 37(1):114-141, Jan. 1991.
  • A. K. Parekh and R. G. Gallager: A Generalized Processor Sharing Approach to Flow Control : The Multiple Node Case, IEEE Transactions on Networking, 2 (2):137-150, April 1994.
  • C.-S. Chang: Stability, Queue Length and Delay of Deterministic and Stochastic Queueing Networks, IEEE Transactions on Automatic Control, 39(5):913-931, May 1994.
  • D. E. Wrege, E. W. Knightly, H. Zhang, and J. Liebeherr: Deterministic delay bounds for VBR video in packet-switching networks: Fundamental limits and practical tradeoffs, IEEE/ACM Transactions on Networking, 4(3):352-362, Jun. 1996.
  • R. L. Cruz: SCED+: Efficient Management of Quality of Service Guarantees, IEEE INFOCOM, pp. 625–634, Mar. 1998.
  • J.-Y. Le Boudec: Application of Network Calculus to Guaranteed Service Networks, IEEE Transactions on Information Theory, 44(3):1087-1096, May 1998.
  • C.-S. Chang: On Deterministic Traffic Regulation and Service Guarantees: A Systematic Approach by Filtering, IEEE Transactions on Information Theory, 44(3):1097-1110, May 1998.
  • R. Agrawal, R. L. Cruz, C. Okino, and R. Rajan: Performance Bounds for Flow Control Protocols, IEEE/ACM Transactions on Networking, 7(3):310-323, Jun. 1999.
  • J.-Y. Le Boudec: Some properties of variable length packet shapers, IEEE/ACM Transactions on Networking, 10(3):329-337, Jun. 2002.
  • C.-S. Chang, R. L. Cruz, J.-Y. Le Boudec, and P. Thiran: A Min, + System Theory for Constrained Traffic Regulation and Dynamic Service Guarantees, IEEE/ACM Transactions on Networking, 10(6):805-817, Dec. 2002.
  • Y. Jiang: Relationship between guaranteed rate server and latency rate server, Computer Networks 43(3): 307-315, 2003.
  • M. Fidler and S. Recker: Conjugate network calculus: A dual approach applying the Legendre transform, Computer Networks, 50(8):1026-1039, Jun. 2006.
  • Eitan Altman, Kostya Avrachenkov, and Chadi Barakat: TCP network calculus: The case of large bandwidth-delay product, In proceedings of IEEE INFOCOM, NY, June 2002.
  • J. Liebeherr: Duality of the Max-Plus and Min-Plus Network Calculus, Foundations and Trends in Networking 11(3-4): 139-282, 2017.
Network topologies, feed-forward networks
  • A. Charny and J.-Y. Le Boudec: Delay Bounds in a Network with Aggregate Scheduling, QoFIS, pp. 1–13, Sep. 2000.
  • D. Starobinski, M. Karpovsky, and L. Zakrevski: Application of Network Calculus to General Topologies using Turn-Prohibition, IEEE/ACM Transactions on Networking, 11(3):411-421, Jun. 2003.
  • M. Fidler: A parameter based admission control for differentiated services networks, Computer Networks, 44(4):463-479, March 2004.
  • L. Lenzini, L. Martorini, E. Mingozzi, and G. Stea: Tight end-to-end per-flow delay bounds in FIFO multiplexing sink-tree networks, Performance Evaluation, 63(9-10):956-987, October 2006.
  • J. Schmitt, F. Zdarsky, and M. Fidler: Delay bounds under arbitrary multiplexing: when network calculus leaves you in the lurch ..., Prof. IEEE Infocom, April 2008.
  • A. Bouillard, L. Jouhet, and E. Thierry: Tight performance bounds in the worst-case analysis of feed-forward networks, Proc. IEEE Infocom, April 2010.
Measurement-based system identification
  • C. Cetinkaya, V. Kanodia, and E.W. Knightly: Scalable services via egress admission control, IEEE Transactions on Multimedia, 3(1):69-81, March 2001.
  • S. Valaee, and B. Li: Distributed call admission control for ad hoc networks, Proc. of IEEE VTC, pp. 1244–1248, 2002.
  • A. Undheim, Y. Jiang, and P. J. Emstad. Network Calculus Approach to Router Modeling with External Measurements, Proc. of IEEE Second International Conference on Communications and Networking in China (Chinacom), August 2007.
  • J. Liebeherr, M. Fidler, and S. Valaee: A system-theoretic approach to bandwidth estimation, IEEE Transactions on Networking, 18(4):1040-1053, August 2010.
  • M. Bredel, Z. Bozakov, and Y. Jiang: Analyzing router performance using network calculus with external measurements, Proc. IEEE IWQoS, June 2010.
  • R. Lubben, M. Fidler, and J. Liebeherr: Stochastic bandwidth estimation in networks with random service, IEEE Transactions on Networking, 22(2):484-497, April 2014.
Stochastic network calculus
  • O. Yaron and M. Sidi: Performance and Stability of Communication Networks via Robust Exponential Bounds, IEEE/ACM Transactions on Networking, 1(3):372-385, Jun. 1993.
  • D. Starobinski and M. Sidi: Stochastically Bounded Burstiness for Communication Networks, IEEE Transactions on Information Theory, 46(1):206-212, Jan. 2000.
  • C.-S. Chang: Stability, Queue Length and Delay of Deterministic and Stochastic Queueing Networks, IEEE Transactions on Automatic Control, 39(5):913-931, May 1994.
  • R.-R. Boorstyn, A. Burchard, J. Liebeherr, and C. Oottamakorn: Statistical Service Assurances for Traffic Scheduling Algorithms, IEEE Journal on Selected Areas in Communications, 18(12):2651-2664, Dec. 2000.
  • Q. Yin, Y. Jiang, S. Jiang, and P. Y. Kong: Analysis of Generalized Stochastically Bounded Bursty Traffic for Communication Networks, IEEE LCN, pp. 141–149, Nov. 2002.
  • C. Li, A. Burchard, and J. Liebeherr: A Network Calculus with Effective Bandwidth, University of Virginia, Technical Report CS-2003-20, Nov. 2003.
  • Y. Jiang: A basic stochastic network calculus, ACM SIGCOMM 2006.
  • A. Burchard, J. Liebeherr, and S. D. Patek: A Min-Plus Calculus for End-to-end Statistical Service Guarantees, IEEE Transactions on Information Theory, 52(9):4105–4114, Sep. 2006.
  • F. Ciucu, A. Burchard, and J. Liebeherr: A Network Service Curve Approach for the Stochastic Analysis of Networks, IEEE/ACM Transactions on Networking, 52(6):2300–2312, Jun. 2006.
  • M. Fidler: An End-to-End Probabilistic Network Calculus with Moment Generating Functions, IEEE IWQoS, Jun. 2006.
  • Y. Liu, C.-K. Tham, and Y. Jiang: A calculus for stochastic QoS analysis, Performance Evaluation, 64(6): 547-572, 2007.
  • Y. Jiang and Y. Liu: Stochastic Network Calculus, Springer, 2008.
Wireless network calculus
  • M. Fidler: A Network Calculus Approach to Probabilistic Quality of Service Analysis of Fading Channels, Proc. IEEE Globecom, November 2006.
  • K. Mahmood, A. Rizk, and Y. Jiang: On the Flow-Level Delay of a Spatial Multiplexing MIMO Wireless Channel, Proc. IEEE ICC, June 2011.
  • K. Mahmood, M. Vehkaperä, and Y. Jiang: Delay Constrained Throughput Analysis of a Correlated MIMO Wireless Channel, Proc. IEEE ICCCN, 2011.
  • K. Mahmood, M. Vehkaperä, and Y. Jiang: Delay constrained throughput analysis of CDMA using stochastic network calculus, Proc. IEEE ICON, 2011.
  • K. Mahmood, M. Vehkaperä, and Y. Jiang: Performance of multiuser CDMA receivers with bursty traffic and delay constraints, Proc. ICNC, 2012.
  • Y. Zhang and Y. Jiang: Performance of data transmission over a Gaussian channel with dispersion, Proc. ISWCS, 2012.
  • H. Al-Zubaidy, J. Liebeherr, and A. Burchard: A (min, ×) network calculus for multi-hop fading channels, Proc. IEEE Infocom, pp. 1833–1841, April 2013.
  • K. Zheng, F. Liu, L. Lei, C. Lin, and Y. Jiang: Stochastic Performance Analysis of a Wireless Finite-State Markov Channel, IEEE Trans. Wireless Communications 12(2): 782-793, 2013.
  • J.-w. Cho and Y. Jiang: Fundamentals of the Backoff Process in 802.11: Dichotomy of the Aggregation, IEEE Trans. Information Theory 61(4): 1687-1701, 2015.
  • M. Fidler, R. Lubben, and N. Becker: Capacity–Delay–Error Boundaries: A Composable Model of Sources and Systems, Transactions on Wireless Communications, 14(3):1280-1294, March 2015.
  • F. Sun and Y. Jiang: A Statistical Property of Wireless Channel Capacity: Theory and Application, Proc. IFIP Performance, 2017.

Citations[edit]

  1. ^ a b Le Boudec, Jean-Yves; Thiran, Patrick (2001). Goos, Gerhard; Hartmanis, Juris; van Leeuwen, Jan (eds.). Network Calculus: A Theory of Deterministic Queuing Systems for the Internet. Lecture Notes in Computer Science. Vol. 2050. doi:10.1007/3-540-45318-0. ISBN 978-3-540-42184-9. S2CID 20610609.
  2. ^ Jiang, Yuming; Liu, Yong (2009). Stochastic Network Calculus. Bibcode:2009snc..book.....L. CiteSeerX 10.1.1.725.5561. doi:10.1007/978-1-84800-127-5. ISBN 978-1-84800-126-8.
  3. ^ Fidler, M. (2010). "Survey of deterministic and stochastic service curve models in the network calculus". IEEE Communications Surveys & Tutorials. 12: 59–86. doi:10.1109/SURV.2010.020110.00019. S2CID 10745931.
  4. ^ a b Bouillard, Anne; Jouhet, Laurent; Thierry, Eric (2009). Service curves in Network Calculus: dos and don'ts (Technical report). INRIA. RR-7094.
  5. ^ Bouillard, Anne; Jouhet, Laurent; Thierry, Éric. Comparison of Different Classes of Service Curves in Network Calculus (PDF). 10th International Workshop on Discrete Event Systems (WODES 2010). Technische Universität Berlin.
  6. ^ Zhou, Boyang; Howenstine, Isaac; Limprapaipong, Siraphob; Cheng, Liang (December 14, 2020). "A Survey on Network Calculus Tools for Network Infrastructure in Real-Time Systems". IEEE Access. 8. IEEE: 223588–223605. Bibcode:2020IEEEA...8v3588Z. doi:10.1109/ACCESS.2020.3043600.
  7. ^ Zippo, Raffaele; Stea, Giovanni (June 2022). "Nancy: an efficient parallel Network Calculus library". SoftwareX. 19. Elsevier: 101178. arXiv:2205.11449. Bibcode:2022SoftX..1901178Z. doi:10.1016/j.softx.2022.101178.
  8. ^ Rakotomalala, Lucien; Boyer, Marc; Roux, Pierre (2021). Verifying min-plus computations with coq. 13th NASA Formal Methods Symposium (NFM 2021). doi:10.1007/978-3-030-76384-8.
  9. ^ Bouillard, Anne; Thierry, Eric (2008). "An Algorithmic Toolbox for Network Calculus". Discrete Event Dynamic Systems: Theory and Applications. 18: 3–49. doi:10.1007/s10626-007-0028-x. S2CID 14643542.
  10. ^ Bondorf, Steffen; Schmitt, Jens B. (2014). The DiscoDNC v2 – A Comprehensive Tool for Deterministic Network Calculus (PDF). 8th International Conference on Performance Evaluation Methodologies and Tools (VALUETOOLS 2014).
  11. ^ Thiele, Lothar; Chakraborty, Samarjit; Naedele, Martin. Real-Time Calculus for Scheduling Hard Real-Time Systems. IEEE International Symposium on Circuits and Systems (ISCAS) 2000. Geneva, Switzerland. doi:10.1109/ISCAS.2000.858698.
  12. ^ Schioler, Henrik; Schwefel, Hans P.; Hansen, Martin B. (2007). CyNC: A MATLAB/SimuLink Toolbox for Network Calculus. 2nd International Conference on Performance Evaluation Methodologies and Tools (ValueTools '07).
  13. ^ Boyer, Marc; Migge, Jörn; Fumey, Marc (2011). PEGASE, A Robust and Efficient Tool for Worst Case Network Traversal Time (PDF). SAE 2011 AeroTech Congress & Exhibition.
  14. ^ Mifdaoui, Ahlem; Ayed, H. (2010). WOPANets: A tool for WOrst case Performance Analysis of embedded Networks. 15th IEEE International Workshop on Computer Aided Modeling, Analysis and Design of Communication Links and Networks (CAMAD). doi:10.1109/CAMAD.2010.5686958.
  15. ^ Schmidt, Mark; Veith, Sebastian; Menth, Michael; Kehrer, Stephan (2014). DelayLyzer: A Tool for Analyzing Delay Bounds in Industrial Ethernet Networks. 17th Int. GI/ITG Conf. on Measurement, Modelling, and Evaluation of Computing Systems and Dependability and Fault Tolerance (MMB & DFT 2014). doi:10.1007/978-3-319-05359-2_19.
  16. ^ Bisti, Luca; Lenzini, Luciano; Mingozzi, Enzo; Stea, Giovanni (2012). DEBORAH: A Tool for Worst-Case Analysis of FIFO Tandems. International Symposium On Leveraging Applications of Formal Methods, Verification and Validation. doi:10.1007/978-3-642-16558-0_15.
  17. ^ Bouillard, Anne; Stea, Giovanni (October 2015). "Exact worst-case delay in FIFO-multiplexing feed-forward networks". IEEE/ACM Transactions on Networking. 23 (5): 1387–1400. doi:10.1109/TNET.2014.2332071. hdl:11568/501671. S2CID 14216975.
  18. ^ Bouillard, Anne; Éric, Thierry (September 2016). "Tight performance bounds in the worst-case analysis of feed-forward networks" (PDF). Discrete Event Dynamic Systems. 26 (3): 383–411. doi:10.1007/s10626-015-0213-2. S2CID 40699209.
  19. ^ Bouillard, Anne (2019). Stability and performance bounds in cyclic networks using network calculus. 17th International Conference on Formal Modeling and Analysis of Timed Systems.
  20. ^ Kerschbaum, Sven; Hielscher, Kai-Steffen; German, Reinhard (2016). The need for shaping non-time-critical data in PROFINET networks. 14th IEEE International Conference on Industrial Informatics (INDIN). doi:10.1109/INDIN.2016.7819151.
  21. ^ Thomas, Ludovic (September 2022). Analysis of the side-effects on latency bounds of combinations of scheduling, redundancy and synchronization mechanisms in time-sensitive networks (Doctorat de l'université de Toulouse).