Speaker
W. Lavrijsen
(LBNL)
Description
A software bus, just like its hardware equivalent, allows for the discovery,
installation, configuration, loading, unloading, and run-time replacement of software
components, as well as channeling of inter-component communication.
Python, a popular open-source programming language, encourages a modular design on
software written in it, but it offers little or no component functionality. However,
the language and its interpreter provide sufficient hooks to implement a thin,
integral layer of component support. This functionality can be presented to the
developer in the form of a module, making it very easy to use.
This paper describes a Python module, PyBus, with which the concept of a 'software
bus' can be realised in Python. It demonstrates, within the context of the Atlas
software framework Athena, how PyBus can be used for the installation and (run-time)
configuration of software, not necessarily Python modules, from a Python application
in a way that is transparent to the end-user.
Primary author
W. Lavrijsen
(LBNL)