Results 1 -
4 of
4
A Foreign Function Interface Generator for occam-pi
, 2005
"... occam-pi is a programming language based on the CSP process algebra and the pi-calculus, and has a powerful syntax for expressing concurrency. occam-pi does not however, come with interfaces to a broad range of standard libraries (such as those used for graphics or mathematics). Programmers wishing ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
occam-pi is a programming language based on the CSP process algebra and the pi-calculus, and has a powerful syntax for expressing concurrency. occam-pi does not however, come with interfaces to a broad range of standard libraries (such as those used for graphics or mathematics). Programmers wishing to use these must write their own wrappers using occam-pi's foreign function interface, which can be tedious and time consuming. SWIG offers automatic generation of wrappers for libraries written in C and C++, allowing access to these for the target languages supported by SWIG. This paper describes the occam-pi module for SWIG, which will allow automatic wrapper generation for occam-pi, and will ensure that occam-pi's library base can be grown in a quick and efficient manner. Access to database, graphics and hardware interfacing libraries can all be provided with relative ease when using SWIG to automate the bulk of the work.
An Embedded Error Recovery and Debugging Mechanism for Scripting Language Extensions
, 2001
"... In recent years, scripting languages such as Perl, Python, and Tcl have become popular development tools for the creation of sophisticated application software. One of the most useful features of these languages is their ability to easily interact with compiled languages such as C and C++. Although ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In recent years, scripting languages such as Perl, Python, and Tcl have become popular development tools for the creation of sophisticated application software. One of the most useful features of these languages is their ability to easily interact with compiled languages such as C and C++. Although this mixed language approach has many benefits, one of the greatest drawbacks is the complexity of debugging that results from using interpreted and compiled code in the same application. In part, this is due to the fact that scripting language interpreters are unable to recover from catastrophic errors in compiled extension code. Moreover, traditional C/C++ debuggers do not provide a satisfactory degree of integration with interpreted languages. This paper describes an experimental system in which fatal extension errors such as segmentation faults, bus errors, and failed assertions are handled as scripting language exceptions. This system, which has been implemented as a general purpose shared library, requires no modifications to the target scripting language, introduces no performance penalty, and simplifies the debugging of mixed interpreted-compiled application software.
Heterogenous Agent Systems for Monitoring and Steering
, 1999
"... Long-lived distributed computations present designers with unusual challenges. Monitoring and steering needs to adapt to the changing needs of both users and developers without interrupting the ongoing computation. Our interest is in developing an infrastructure which supports visual exploration of ..."
Abstract
- Add to MetaCart
Long-lived distributed computations present designers with unusual challenges. Monitoring and steering needs to adapt to the changing needs of both users and developers without interrupting the ongoing computation. Our interest is in developing an infrastructure which supports visual exploration of such computations. The desire to limit interference and maximize flexibility led us to an agent-based solution tailored for visualization and steering. Just as there is no single best language, there is no single best agent system, each has its own strengths and weaknesses. Instead of choosing a particular agent system we developed a minimal high level agent model and specialized it for monitoring and steering. The model permits different realizations of the high level model to cooperate with each other in the monitoring and steering process.

