Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Extend the python bindings and cosmetics
[simgrid.git] / docs / source / app_s4u.rst
index b8b7849..c961b65 100644 (file)
@@ -64,45 +64,34 @@ Virtual machines can also be migrated between hosts.
 The :ref:`simgrid::s4u::this_actor <API_s4u_this_actor>` namespace
 provides many helper functions to simplify the code of actors.
 
-- **Simulation Elements**
-
-  - :ref:`class Actor <API_s4u_Actor>`:
-    Active entities executing your application.
-  - :ref:`class Engine <API_s4u_Engine>`
-    Simulation engine (singleton).
-  - :ref:`class Mailbox <API_s4u_Mailbox>`
-    Communication rendezvous, with which actors meet each other.
-
-- **Resources**
-
-  - :ref:`class Disk <API_s4u_Disk>`
-    Resource on which actors can write and read data.
-  - :ref:`class Host <API_s4u_Host>`:
-    Actor location, providing computational power.
-  - :ref:`class Link <API_s4u_Link>`
-    Interconnecting hosts.
-  - :ref:`class NetZone <API_s4u_NetZone>`:
-    Sub-region of the platform, containing resources (Hosts, Links, etc).
-  - :ref:`class VirtualMachine <API_s4u_VirtualMachine>`:
-    Execution containers that can be moved between Hosts.
-
-- **Activities** (:ref:`class Activity <API_s4u_Activity>`):
-  The things that actors can do on resources
-
-  - :ref:`class Comm <API_s4u_Comm>`
-    Communication activity, started on Mailboxes and consuming links.
-  - :ref:`class Exec <API_s4u_Exec>`
-    Computation activity, started on Host and consuming CPU resources.
-  - :ref:`class Io <API_s4u_Io>`
-    I/O activity, started on and consuming disks.
-
-- **Synchronization Objects**: Classical IPC that actors can use
-
-  - :ref:`class Barrier <API_s4u_Barrier>`
-  - :ref:`class ConditionVariable <API_s4u_ConditionVariable>`
-  - :ref:`class Mutex <API_s4u_Mutex>`
-  - :ref:`class Semaphore <API_s4u_Semaphore>`
+.. rst-class:: compact-list
 
+   - **Simulation Elements**
+
+      - :ref:`class Actor <API_s4u_Actor>`: Active entities executing your application.
+      - :ref:`class Engine <API_s4u_Engine>`: Simulation engine (singleton).
+      - :ref:`class Mailbox <API_s4u_Mailbox>`: Communication rendezvous, with which actors meet each other.
+
+   - **Resources**
+
+      - :ref:`class Disk <API_s4u_Disk>`: Resource on which actors can write and read data.
+      - :ref:`class Host <API_s4u_Host>`: Actor location, providing computational power.
+      - :ref:`class Link <API_s4u_Link>`: Interconnecting hosts.
+      - :ref:`class NetZone <API_s4u_NetZone>`: Sub-region of the platform, containing resources (Hosts, Links, etc).
+      - :ref:`class VirtualMachine <API_s4u_VirtualMachine>`: Execution containers that can be moved between Hosts.
+
+   - **Activities** (:ref:`class Activity <API_s4u_Activity>`): The things that actors can do on resources.
+
+      - :ref:`class Comm <API_s4u_Comm>`: Communication activity, started on Mailboxes and consuming links.
+      - :ref:`class Exec <API_s4u_Exec>`: Computation activity, started on Host and consuming CPU resources.
+      - :ref:`class Io <API_s4u_Io>`: I/O activity, started on and consuming disks.
+
+   - **Synchronization Objects**: Classical IPC that actors can use
+
+      - :ref:`class Barrier <API_s4u_Barrier>`
+      - :ref:`class ConditionVariable <API_s4u_ConditionVariable>`
+      - :ref:`class Mutex <API_s4u_Mutex>`
+      - :ref:`class Semaphore <API_s4u_Semaphore>`
 
 .. |API_s4u_Actors| replace:: **Actors**
 .. _API_s4u_Actors: #api-s4u-actor
@@ -169,18 +158,14 @@ use  :cpp:func:`s4u::Activity::wait_for() <simgrid::s4u::Activity::wait_for>`.
 Finally, to wait at most until a specified time limit, use
 :cpp:func:`s4u::Activity::wait_until() <simgrid::s4u::Activity::wait_until>`.
 
-Every kind of activity can be asynchronous:
-
-  - :ref:`s4u::CommPtr <API_s4u_Comm>` are created with
-    :cpp:func:`s4u::Mailbox::put_async() <simgrid::s4u::Mailbox::put_async>` and
-    :cpp:func:`s4u::Mailbox::get_async() <simgrid::s4u::Mailbox::get_async>`.
-  - :ref:`s4u::IoPtr <API_s4u_Io>` are created with
-    :cpp:func:`s4u::Disk::read_async() <simgrid::s4u::Disk::read_async>` and
-    :cpp:func:`s4u::Disk::write_async() <simgrid::s4u::Disk::write_async>`.
-  - :ref:`s4u::ExecPtr <API_s4u_Exec>` are created with
-    :cpp:func:`s4u::Host::exec_async() <simgrid::s4u::Host::exec_async>`.
-  - In the future, it will become possible to have asynchronous IPC
-    such as asynchronous mutex lock requests.
+Every kind of activity can be asynchronous.
+:ref:`s4u::CommPtr <API_s4u_Comm>` are created with :cpp:func:`s4u::Mailbox::put_async() <simgrid::s4u::Mailbox::put_async>` and
+:cpp:func:`s4u::Mailbox::get_async() <simgrid::s4u::Mailbox::get_async>`;
+:ref:`s4u::IoPtr <API_s4u_Io>` are created with :cpp:func:`s4u::Disk::read_async() <simgrid::s4u::Disk::read_async>` and
+:cpp:func:`s4u::Disk::write_async() <simgrid::s4u::Disk::write_async>`; and
+:ref:`s4u::ExecPtr <API_s4u_Exec>` are created with
+:cpp:func:`s4u::Host::exec_async() <simgrid::s4u::Host::exec_async>`.
+In the future, it will become possible to have asynchronous IPC such as asynchronous mutex lock requests.
 
 The following example shows how to have several concurrent
 communications ongoing.  First, you have to declare a vector in which
@@ -191,20 +176,18 @@ vector of mailboxes.
    :language: c++
    :start-after: init-begin
    :end-before: init-end
-   :dedent: 4
+   :dedent: 2
 
 Then, you start all the communications that should occur concurrently with
 :cpp:func:`s4u::Mailbox::put_async() <simgrid::s4u::Mailbox::put_async>`.
 Finally, the actor waits for the completion of all of them at once
-with
-:cpp:func:`s4u::Comm::wait_all() <simgrid::s4u::Comm::wait_all>`.
+with :cpp:func:`s4u::Comm::wait_all() <simgrid::s4u::Comm::wait_all>`.
 
 .. literalinclude:: ../../examples/cpp/comm-waitall/s4u-comm-waitall.cpp
    :language: c++
    :start-after: put-begin
    :end-before: put-end
-   :dedent: 4
-
+   :dedent: 2
 
 =====================
 Activities Life cycle
@@ -406,9 +389,18 @@ Simulation objects
 ⁣  class Actor
 ==============
 
-.. doxygenclass:: simgrid::s4u::Actor
+.. tabs::
+
+   .. group-tab:: C++
+
+      .. doxygenclass:: simgrid::s4u::Actor
 
-.. doxygentypedef:: aid_t
+      .. doxygentypedef:: aid_t
+
+
+   .. group-tab:: Python
+   
+      .. autoclass:: simgrid.Actor
 
 Basic management
 ----------------
@@ -429,8 +421,6 @@ Basic management
 
          from simgrid import Actor
 
-      .. autoclass:: simgrid.Actor
-
    .. group-tab:: C
 
       .. code:: C
@@ -446,6 +436,8 @@ Basic management
 Creating actors
 ---------------
 
+See also :ref:`the relevant example <s4u_ex_actors_create>`.
+
 .. tabs::
 
    .. group-tab:: C++
@@ -492,6 +484,7 @@ Retrieving actors
 
       .. doxygenfunction:: sg_actor_by_pid(aid_t pid)
       .. doxygenfunction:: sg_actor_self()
+      .. doxygenfunction:: sg_actor_list()
 
 Querying info
 -------------
@@ -623,14 +616,14 @@ Signals
 
    .. group-tab:: C++
 
-      .. doxygenvariable:: simgrid::s4u::Actor::on_creation
-      .. doxygenvariable:: simgrid::s4u::Actor::on_suspend
-      .. doxygenvariable:: simgrid::s4u::Actor::on_host_change
-      .. doxygenvariable:: simgrid::s4u::Actor::on_resume
-      .. doxygenvariable:: simgrid::s4u::Actor::on_sleep
-      .. doxygenvariable:: simgrid::s4u::Actor::on_wake_up
-      .. doxygenvariable:: simgrid::s4u::Actor::on_termination
-      .. doxygenvariable:: simgrid::s4u::Actor::on_destruction
+      .. doxygenfunction:: simgrid::s4u::Actor::on_creation_cb
+      .. doxygenfunction:: simgrid::s4u::Actor::on_suspend_cb
+      .. doxygenfunction:: simgrid::s4u::Actor::on_host_change_cb
+      .. doxygenfunction:: simgrid::s4u::Actor::on_resume_cb
+      .. doxygenfunction:: simgrid::s4u::Actor::on_sleep_cb
+      .. doxygenfunction:: simgrid::s4u::Actor::on_wake_up_cb
+      .. doxygenfunction:: simgrid::s4u::Actor::on_termination_cb
+      .. doxygenfunction:: simgrid::s4u::Actor::on_destruction_cb
 
 .. _API_s4u_this_actor:
 
@@ -663,6 +656,9 @@ Querying info
       .. autofunction:: simgrid.this_actor.get_host
       .. autofunction:: simgrid.this_actor.set_host
 
+      .. autofunction:: simgrid.this_actor.get_pid
+      .. autofunction:: simgrid.this_actor.get_ppid
+
    .. group-tab:: C
 
       .. doxygenfunction:: sg_actor_self_get_data()
@@ -697,8 +693,13 @@ Logging messages
 
 .. tabs::
 
+   .. group-tab:: C++
+
+      Please refer to :ref:`the relevant documentation <logging_prog>`.
+
    .. group-tab:: Python
 
+       .. autofunction:: simgrid.this_actor.debug
        .. autofunction:: simgrid.this_actor.info
        .. autofunction:: simgrid.this_actor.error
 
@@ -781,10 +782,18 @@ Exiting
 ⁣  Simulation Engine
 ====================
 
-.. doxygenclass:: simgrid::s4u::Engine
+.. tabs::
 
-Initialization
---------------
+   .. group-tab:: C++
+
+      .. doxygenclass:: simgrid::s4u::Engine
+
+   .. group-tab:: Python
+   
+      .. autoclass:: simgrid.Engine
+
+Engin initialization
+--------------------
 
 .. tabs::
 
@@ -793,6 +802,24 @@ Initialization
       .. doxygenfunction:: simgrid::s4u::Engine::Engine(int *argc, char **argv)
       .. doxygenfunction:: simgrid::s4u::Engine::is_initialized()
       .. doxygenfunction:: simgrid::s4u::Engine::shutdown()
+      .. doxygenfunction:: simgrid::s4u::Engine::get_instance()
+
+   .. group-tab:: Python
+
+       .. automethod:: simgrid.Engine.__init__
+       .. automethod:: simgrid.Engine.instance
+
+   .. group-tab:: C
+
+      .. doxygenfunction:: simgrid_init
+
+Simulation setup
+----------------
+
+.. tabs::
+
+   .. group-tab:: C++
+
       .. doxygenfunction:: simgrid::s4u::Engine::set_config(const std::string &str)
       .. doxygenfunction:: simgrid::s4u::Engine::set_config(const std::string &name, bool value)
       .. doxygenfunction:: simgrid::s4u::Engine::set_config(const std::string &name, double value)
@@ -818,13 +845,12 @@ Initialization
 
    .. group-tab:: C
 
-      .. doxygenfunction:: simgrid_init
-
       .. doxygenfunction:: simgrid_load_deployment
       .. doxygenfunction:: simgrid_load_platform
       .. doxygenfunction:: simgrid_register_default
       .. doxygenfunction:: simgrid_register_function
 
+
 Run the simulation
 ------------------
 
@@ -834,16 +860,19 @@ Run the simulation
 
       .. doxygenfunction:: simgrid::s4u::Engine::get_clock()
       .. doxygenfunction:: simgrid::s4u::Engine::run
+      .. doxygenfunction:: simgrid::s4u::Engine::run_until
 
    .. group-tab:: Python
 
       .. automethod:: simgrid.Engine.get_clock
       .. automethod:: simgrid.Engine.run
+      .. automethod:: simgrid.Engine.run_until
 
    .. group-tab:: C
 
       .. doxygenfunction:: simgrid_get_clock
       .. doxygenfunction:: simgrid_run
+      .. doxygenfunction:: simgrid_run_until
 
 Retrieving actors
 -----------------
@@ -894,6 +923,10 @@ Retrieving links
       .. doxygenfunction:: simgrid::s4u::Engine::link_by_name
       .. doxygenfunction:: simgrid::s4u::Engine::link_by_name_or_null
 
+   .. group-tab:: Python
+
+      .. automethod:: simgrid.Engine.get_all_links
+
 Interacting with the routing
 ----------------------------
 
@@ -903,12 +936,19 @@ Interacting with the routing
 
       .. doxygenfunction:: simgrid::s4u::Engine::get_all_netpoints
       .. doxygenfunction:: simgrid::s4u::Engine::get_filtered_netzones
-      .. doxygenfunction:: simgrid::s4u::Engine::get_instance()
       .. doxygenfunction:: simgrid::s4u::Engine::get_netzone_root
       .. doxygenfunction:: simgrid::s4u::Engine::netpoint_by_name_or_null
       .. doxygenfunction:: simgrid::s4u::Engine::netzone_by_name_or_null
       .. doxygenfunction:: simgrid::s4u::Engine::set_netzone_root(const NetZone *netzone)
 
+   .. group-tab:: Python
+
+      .. automethod:: simgrid.Engine.get_all_netpoints
+      .. automethod:: simgrid.Engine.get_netzone_root
+      .. automethod:: simgrid.Engine.netpoint_by_name_or_null
+      .. automethod:: simgrid.Engine.netzone_by_name_or_null
+      .. automethod:: simgrid.Engine.set_netzone_root
+
 Signals
 -------
 
@@ -916,11 +956,11 @@ Signals
 
    .. group-tab:: C++
 
-      .. doxygenvariable:: simgrid::s4u::Engine::on_deadlock
-      .. doxygenvariable:: simgrid::s4u::Engine::on_platform_created
-      .. doxygenvariable:: simgrid::s4u::Engine::on_platform_creation
-      .. doxygenvariable:: simgrid::s4u::Engine::on_simulation_end
-      .. doxygenvariable:: simgrid::s4u::Engine::on_time_advance
+      .. doxygenfunction:: simgrid::s4u::Engine::on_deadlock_cb
+      .. doxygenfunction:: simgrid::s4u::Engine::on_platform_created_cb
+      .. doxygenfunction:: simgrid::s4u::Engine::on_platform_creation_cb
+      .. doxygenfunction:: simgrid::s4u::Engine::on_simulation_end_cb
+      .. doxygenfunction:: simgrid::s4u::Engine::on_time_advance_cb
 
 .. _API_s4u_Mailbox:
 
@@ -928,7 +968,15 @@ Signals
 ⁣  class Mailbox
 ================
 
-.. doxygenclass:: simgrid::s4u::Mailbox
+.. tabs::
+
+   .. group-tab:: C++
+
+      .. doxygenclass:: simgrid::s4u::Mailbox
+
+   .. group-tab:: Python
+   
+      .. autoclass:: simgrid.Mailbox
 
 Please also refer to the :ref:`full doc on s4u::Mailbox <s4u_mailbox>`.
 
@@ -956,8 +1004,6 @@ Basic management
 
          #include <simgrid/mailbox.h>
 
-      .. autoclass:: simgrid.Mailbox
-
       .. automethod:: simgrid.Mailbox.by_name
 
    .. group-tab:: C
@@ -1067,7 +1113,20 @@ Resources
 ⁣  class Disk
 =============
 
-.. doxygenclass:: simgrid::s4u::Disk
+.. tabs::
+
+   .. group-tab:: C++
+
+      .. doxygenclass:: simgrid::s4u::Disk
+
+   .. group-tab:: Python
+   
+      .. autoclass:: simgrid.Disk
+
+   .. group-tab:: C
+
+      .. doxygentypedef:: sg_disk_t
+      .. doxygentypedef:: const_sg_disk_t
 
 Basic management
 ----------------
@@ -1144,9 +1203,9 @@ Signals
 
    .. group-tab:: C++
 
-      .. doxygenvariable:: simgrid::s4u::Disk::on_creation
-      .. doxygenvariable:: simgrid::s4u::Disk::on_destruction
-      .. doxygenvariable:: simgrid::s4u::Disk::on_state_change
+      .. doxygenfunction:: simgrid::s4u::Disk::on_creation_cb
+      .. doxygenfunction:: simgrid::s4u::Disk::on_destruction_cb
+      .. doxygenfunction:: simgrid::s4u::Disk::on_state_change_cb
 
 
 .. _API_s4u_Host:
@@ -1155,7 +1214,15 @@ Signals
 ⁣  class Host
 =============
 
-.. doxygenclass:: simgrid::s4u::Host
+.. tabs::
+
+   .. group-tab:: C++
+
+      .. doxygenclass:: simgrid::s4u::Host
+
+   .. group-tab:: Python
+   
+      .. autoclass:: simgrid.Host
 
 Basic management
 ----------------
@@ -1342,6 +1409,7 @@ DVFS
 
       .. automethod:: simgrid.Host.get_pstate_count
       .. automethod:: simgrid.Host.get_pstate_speed
+      .. automethod:: simgrid.Host.set_speed_profile
 
    .. group-tab:: C
 
@@ -1375,7 +1443,7 @@ using :cpp:func:`Comm::sendto() <simgrid::s4u::Comm::sendto()>`.
       .. doxygenfunction:: simgrid::s4u::Host::get_englobing_zone() const
       .. doxygenfunction:: simgrid::s4u::Host::get_netpoint() const
       .. doxygenfunction:: simgrid::s4u::Host::route_to(const Host *dest, std::vector< Link * > &links, double *latency) const
-      .. doxygenfunction:: simgrid::s4u::Host::route_to(const Host *dest, std::vector< kernel::resource::LinkImpl * > &links, double *latency) const
+      .. doxygenfunction:: simgrid::s4u::Host::route_to(const Host *dest, std::vector< kernel::resource::StandardLinkImpl * > &links, double *latency) const
       .. doxygenfunction:: simgrid::s4u::Host::create_disk(const std::string& name, double read_bandwidth, double write_bandwidth)
       .. doxygenfunction:: simgrid::s4u::Host::create_disk(const std::string& name, const std::string& read_bandwidth, const std::string& write_bandwidth)
 
@@ -1383,6 +1451,8 @@ using :cpp:func:`Comm::sendto() <simgrid::s4u::Comm::sendto()>`.
 
       .. automethod:: simgrid.Host.get_netpoint
       .. automethod:: simgrid.Host.create_disk
+         
+      .. automethod:: simgrid.Host.route_to
 
    .. group-tab:: C
 
@@ -1398,10 +1468,10 @@ Signals
 
    .. group-tab:: C++
 
-      .. doxygenvariable:: simgrid::s4u::Host::on_creation
-      .. doxygenvariable:: simgrid::s4u::Host::on_destruction
-      .. doxygenvariable:: simgrid::s4u::Host::on_speed_change
-      .. doxygenvariable:: simgrid::s4u::Host::on_state_change
+      .. doxygenfunction:: simgrid::s4u::Host::on_creation_cb
+      .. doxygenfunction:: simgrid::s4u::Host::on_destruction_cb
+      .. doxygenfunction:: simgrid::s4u::Host::on_speed_change_cb
+      .. doxygenfunction:: simgrid::s4u::Host::on_state_change_cb
 
 .. _API_s4u_Link:
 
@@ -1409,9 +1479,18 @@ Signals
 ⁣  class Link
 =============
 
-.. doxygenclass:: simgrid::s4u::Link
-.. doxygenclass:: simgrid::s4u::SplitDuplexLink
-.. doxygenclass:: simgrid::s4u::LinkInRoute
+.. tabs::
+
+   .. group-tab:: C++
+
+      .. doxygenclass:: simgrid::s4u::Link
+      .. doxygenclass:: simgrid::s4u::SplitDuplexLink
+      .. doxygenclass:: simgrid::s4u::LinkInRoute
+
+
+   .. group-tab:: Python
+   
+      .. autoclass:: simgrid.Link
 
 Basic management
 ----------------
@@ -1463,6 +1542,9 @@ Retrieving links
 
    .. group-tab:: Python
 
+      See also :py:func:`simgrid.Engine.get_all_links`.
+
+      .. automethod:: simgrid.Link.by_name
       .. autoattribute:: simgrid.Link.name
 
    .. group-tab:: C
@@ -1486,6 +1568,11 @@ Querying info
       .. doxygenfunction:: simgrid::s4u::Link::get_usage() const
       .. doxygenfunction:: simgrid::s4u::Link::is_used() const
 
+   .. group-tab:: Python
+
+      .. autoattribute:: simgrid.Link.bandwidth
+      .. autoattribute:: simgrid.Link.latency
+
    .. group-tab:: C
 
       .. doxygenfunction:: sg_link_get_bandwidth(const_sg_link_t link)
@@ -1508,6 +1595,7 @@ Modifying characteristics
 
    .. group-tab:: Python
 
+      .. automethod:: simgrid.Link.set_bandwidth
       .. automethod:: simgrid.Link.set_latency
       .. automethod:: simgrid.Link.set_concurrency_limit
       .. automethod:: simgrid.Link.set_sharing_policy
@@ -1545,6 +1633,14 @@ On/Off
       .. doxygenfunction:: simgrid::s4u::Link::turn_off()
       .. doxygenfunction:: simgrid::s4u::Link::turn_on()
 
+   .. group-tab:: Python
+
+      See also :py:func:`simgrid.Link.set_state_profile`.
+
+      .. automethod:: simgrid.Link.is_on
+      .. automethod:: simgrid.Link.turn_off
+      .. automethod:: simgrid.Link.turn_on
+
 Dynamic profiles
 ----------------
 
@@ -1578,12 +1674,11 @@ Signals
 
    .. group-tab:: C++
 
-      .. doxygenvariable:: simgrid::s4u::Link::on_bandwidth_change
-      .. doxygenvariable:: simgrid::s4u::Link::on_communicate
-      .. doxygenvariable:: simgrid::s4u::Link::on_communication_state_change
-      .. doxygenvariable:: simgrid::s4u::Link::on_creation
-      .. doxygenvariable:: simgrid::s4u::Link::on_destruction
-      .. doxygenvariable:: simgrid::s4u::Link::on_state_change
+      .. doxygenfunction:: simgrid::s4u::Link::on_bandwidth_change_cb
+      .. doxygenfunction:: simgrid::s4u::Link::on_communication_state_change_cb
+      .. doxygenfunction:: simgrid::s4u::Link::on_creation_cb
+      .. doxygenfunction:: simgrid::s4u::Link::on_destruction_cb
+      .. doxygenfunction:: simgrid::s4u::Link::on_state_change_cb
 
 .. _API_s4u_NetZone:
 
@@ -1591,7 +1686,15 @@ Signals
 ⁣  class NetZone
 ================
 
-.. doxygenclass:: simgrid::s4u::NetZone
+.. tabs::
+
+   .. group-tab:: C++
+
+      .. doxygenclass:: simgrid::s4u::NetZone
+
+   .. group-tab:: Python
+   
+      .. autoclass:: simgrid.NetZone
 
 Basic management
 ----------------
@@ -1616,7 +1719,6 @@ Basic management
 
          from simgrid import NetZone
 
-      .. autoclass:: simgrid.NetZone
       .. automethod:: simgrid.NetZone.seal
 
    .. group-tab:: C
@@ -1730,8 +1832,8 @@ Signals
 
   .. group-tab:: C++
 
-     .. doxygenvariable:: simgrid::s4u::NetZone::on_creation
-     .. doxygenvariable:: simgrid::s4u::NetZone::on_seal
+     .. doxygenfunction:: simgrid::s4u::NetZone::on_creation_cb
+     .. doxygenfunction:: simgrid::s4u::NetZone::on_seal_cb
 
 Creating resources
 ------------------
@@ -1854,8 +1956,8 @@ Creating VMs
 
    .. group-tab:: C++
 
-      .. doxygenfunction:: simgrid::s4u::VirtualMachine::VirtualMachine(const std::string &name, Host *physical_host, int core_amount)
-      .. doxygenfunction:: simgrid::s4u::VirtualMachine::VirtualMachine(const std::string &name, Host *physical_host, int core_amount, size_t ramsize)
+      .. doxygenfunction:: simgrid::s4u::Host::create_vm(const std::string &name, int core_amount)
+      .. doxygenfunction:: simgrid::s4u::Host::create_vm(const std::string &name, int core_amount, size_t ramsize)
       .. doxygenfunction:: simgrid::s4u::VirtualMachine::destroy
 
    .. group-tab:: C
@@ -1917,13 +2019,15 @@ Signals
 
    .. group-tab:: C++
 
-      .. doxygenvariable:: simgrid::s4u::VirtualMachine::on_migration_end
-      .. doxygenvariable:: simgrid::s4u::VirtualMachine::on_migration_start
-      .. doxygenvariable:: simgrid::s4u::VirtualMachine::on_resume
-      .. doxygenvariable:: simgrid::s4u::VirtualMachine::on_shutdown
-      .. doxygenvariable:: simgrid::s4u::VirtualMachine::on_start
-      .. doxygenvariable:: simgrid::s4u::VirtualMachine::on_started
-      .. doxygenvariable:: simgrid::s4u::VirtualMachine::on_suspend
+      .. doxygenfunction:: simgrid::s4u::VirtualMachine::on_creation_cb
+      .. doxygenfunction:: simgrid::s4u::VirtualMachine::on_destruction_cb
+      .. doxygenfunction:: simgrid::s4u::VirtualMachine::on_migration_end_cb
+      .. doxygenfunction:: simgrid::s4u::VirtualMachine::on_migration_start_cb
+      .. doxygenfunction:: simgrid::s4u::VirtualMachine::on_resume_cb
+      .. doxygenfunction:: simgrid::s4u::VirtualMachine::on_shutdown_cb
+      .. doxygenfunction:: simgrid::s4u::VirtualMachine::on_start_cb
+      .. doxygenfunction:: simgrid::s4u::VirtualMachine::on_started_cb
+      .. doxygenfunction:: simgrid::s4u::VirtualMachine::on_suspend_cb
 
 .. _API_s4u_Activity:
 
@@ -2003,7 +2107,15 @@ Suspending and resuming an activity
 ⁣  class Comm
 =============
 
-.. doxygenclass:: simgrid::s4u::Comm
+.. tabs::
+
+   .. group-tab:: C++
+
+      .. doxygenclass:: simgrid::s4u::Comm
+
+   .. group-tab:: Python
+   
+      .. autoclass:: simgrid.Comm
 
 Basic management
 ----------------
@@ -2024,8 +2136,6 @@ Basic management
 
          from simgrid import Comm
 
-      .. autoclass:: simgrid.Comm
-
    .. group-tab:: c
 
       .. code:: c
@@ -2066,7 +2176,8 @@ also start direct communications as shown below.
    .. group-tab:: C++
 
       .. doxygenfunction:: simgrid::s4u::Comm::sendto
-      .. doxygenfunction:: simgrid::s4u::Comm::sendto_init
+      .. doxygenfunction:: simgrid::s4u::Comm::sendto_init()
+      .. doxygenfunction:: simgrid::s4u::Comm::sendto_init(Host *from, Host *to)
       .. doxygenfunction:: simgrid::s4u::Comm::sendto_async
 
       .. doxygenfunction:: simgrid::s4u::Comm::cancel
@@ -2101,8 +2212,10 @@ Signals
 
    .. group-tab:: C++
 
-      .. doxygenvariable:: simgrid::s4u::Comm::on_completion
-      .. doxygenvariable:: simgrid::s4u::Comm::on_start
+      .. doxygenfunction:: simgrid::s4u::Comm::on_start_cb
+      .. doxygenfunction:: simgrid::s4u::Comm::on_completion_cb
+      .. doxygenfunction:: simgrid::s4u::Comm::on_recv_cb
+      .. doxygenfunction:: simgrid::s4u::Comm::on_send_cb
 
 .. _API_s4u_Exec:
 
@@ -2110,7 +2223,15 @@ Signals
 ⁣  class Exec
 =============
 
-.. doxygenclass:: simgrid::s4u::Exec
+.. tabs::
+
+   .. group-tab:: C++
+
+      .. doxygenclass:: simgrid::s4u::Exec
+
+   .. group-tab:: Python
+   
+      .. autoclass:: simgrid.Exec
 
 Basic management
 ----------------
@@ -2131,8 +2252,6 @@ Basic management
 
          from simgrid import Exec
 
-      .. autoclass:: simgrid.Exec
-
    .. group-tab:: C
 
       .. code-block:: C
@@ -2214,8 +2333,8 @@ Signals
 
    .. group-tab:: C++
 
-      .. doxygenvariable:: simgrid::s4u::Exec::on_start
-      .. doxygenvariable:: simgrid::s4u::Exec::on_completion
+      .. doxygenfunction:: simgrid::s4u::Exec::on_start_cb
+      .. doxygenfunction:: simgrid::s4u::Exec::on_completion_cb
 
 .. _API_s4u_Io:
 
@@ -2223,7 +2342,15 @@ Signals
 ⁣  class Io
 ===========
 
-.. doxygenclass:: simgrid::s4u::Io
+.. tabs::
+
+   .. group-tab:: C++
+
+      .. doxygenclass:: simgrid::s4u::Io
+
+   .. group-tab:: Python
+   
+      .. autoclass:: simgrid.Io
 
 Basic management
 ----------------
@@ -2270,6 +2397,16 @@ Life cycle
       .. automethod:: simgrid.Io.wait_any_for
       .. automethod:: simgrid.Io.wait_any
 
+Signals
+-------
+
+.. tabs::
+
+   .. group-tab:: C++
+
+      .. doxygenfunction:: simgrid::s4u::Io::on_start_cb
+      .. doxygenfunction:: simgrid::s4u::Io::on_completion_cb
+
 .. _API_s4u_Synchronizations:
 
 =======================
@@ -2359,6 +2496,7 @@ Locking
          #include <simgrid/barrier.hpp>
 
       .. doxygentypedef:: sg_bar_t
+      .. doxygentypedef:: const_sg_bar_t
       .. cpp:type:: const s4u_Barrier* const_sg_bar_t
 
          Pointer to a constant barrier object.