[François Taïani] SoftwareHere are some programs I have developped or contributed to during the course of my research or that of my students.
The archive below contains a modified version of the original PAMPA ns2 implementation that provides different variants of the algorithm. The archive also contains a ruby script to easily run a large number of simulations, while keeping track of the results and of the parameter sets you have used. (The scripts are rather primitive, but hopefully useful.) You will need ns2 and NOAH to compile the modified PAMPA files. Detailed instructions on how to do this are available on Hugo Miranda's PAMPA page.
Download: PAMPA-MMPAC-Code.zip (updated 18/09/2009)Count on me: Lightweight Ad-Hoc Broadcasting in Heterogeneous Topologies
Carl Ellis, Hugo Miranda, François Taïani, In Proceedings of the Int. Workshop on Middleware For Pervasive Mobile and Embedded Computing (Urbana Champaign, Illinois, Nov. 30, 2009) M-PAC '09. , in collocation with the ACM/IFIP/USENIX 10th Int. Middleware Conf. (Middleware 2009). ACM, New York, NY, pp.1-6, ISBN:978-1-60558-849-0,
abstract, complete document, talk, doi: http://doi.acm.org/10.1145/1657127.1657129.
ACM Copyright Notice: © ACM, 2009. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the international Workshop on Middleware For Pervasive Mobile and Embedded Computing (Urbana Champaign, Illinois, November 30 - 30, 2009). M-PAC '09. ACM, New York, NY, p.1-6, http://doi.acm.org/10.1145/1657127.1657129
CosmOpen is a suite of reverse-engineering tools that helps developpers understand the complex behavioural relationships found in large software. CosmOpen allows users to navigate and mine otherwise intractable call graphes, and rapidly construct behavioural views of a complex system from a huge amount of dynamic data.
I have used CosmOpen to partially reverse-engineer an industry-grade CORBA implementation, Orbacus (Figure 1), and identify the key elements of a request lifecycle inside the ORB (Figure 2).
Figure 1 shows the interaction diagram that is obtained when directly observing Orbacus. This diagram is pretty much incomprehensible, whereas the filtered-out version of Figure 2, which was obtained with CosmOpen, clearly shows the different stages of a request's processing, from the socket connection ('accept'), up to the execution of the remote server method ('Hello_impl'), and through to the reply being sent ('send'). This second diagram also highlights the various threads involved and their relationships, something that is completely hidden by the original diagram's complexity.
![[Orbacus-Complete-ThreadPool.png]](../images/Orbacus-Complete-ThreadPool.png)
![[DSN-7.png]](../images/DSN-7.png)
The CosmOpen suite is made of three components: dyngdb, hydrogen, and OPSBrowser:
Right now, only OPSBrowser and dyngdb are available under the GNU General Public License.
Download: cosmopen_1_2beta1.tar.gz (updated 03/04/2009)CosmOpen: Dynamic reverse-engineering on a budget (journal version)
François Taïani, Marc-Olivier Killijian, Jean-Charles Fabre, Software: Practice and Experience, John Wiley & Sons, Ltd. 39(18): (Dec. 2009) pp. 1467-1514 (48p.),
abstract, doi: http://dx.doi.org/10.1002/spe.943. This paper is an extended version of the technical report COMP-002-2008. You may also want to look at the slides of my corresponding talk.
CosmOpen: A Reverse-Engineering Tool for Complex Open-Source Architectures
François Taïani, Rapport LAAS No03226 Student Forum of DSN'03, The International Conference on Dependable Systems and Networks, San Francisco, CA, June 22nd-25th, 2003, pp.A49-A51 (3 p.),
abstract, complete document.
Note Right now, the software has only be tested under Linux and Mac OS X. It should be fairly portable to other platforms, but this requires a little tuning. This is beta software, and there's certainly plenty of improvement room. If you need help or have suggestion, please contact me at f.taiani@lancaster.ac.uk.
Back to Home