BACIBeans: A NetBeans Plugin for Concurrent Programs


Ashley Broadwell


Stan Warford, Professor of Computer Science, Pepperdine University

Author: Ashley Broadwell, Pepperdine University Mentor: J. Stanley Warford, Pepperdine University C-- is a programming language developed by M. Ben-Ari to teach principles of concurrent and distributed programming. It is a small subset of the C language but with the added features of concurrency, semaphores, and monitors. BACI is an acronym for Ben-Ari Concurrency Interpreter. JavaBACI is an open-source command line concurrency simulator used by students to compile and run C-- programs. NetBeans is an integrated development environment (IDE) that many students use in our courses to develop Java and C++ programs. The benefits of an IDE over a command line tool include an integrated text editor and the point-and-click convenience of a graphical user interface. This poster describes the development of a NetBeans plug-in we call BACIBeans that integrates JavaBACI into NetBeans, combining the familiarity and ease of use of NetBeans with the concurrency interpreter. The plugin allows students to write, compile, and run C-- programs within the familiar NetBeans IDE. To create the plugin we incorporated the JavaBACI runtime code, created a new project of type C--, registered a new file type with a “.cm” file extension for source files, created new build and run actions to invoke the corresponding JavaBACI commands, redirected the JavaBACI output to the Netbeans terminal, and registered file extensions for object files. Whereas before students used a separate text editor to create and save source files and issued command line calls to use the BACI interpreter, they now simply download the plugin and code just as they would a Java or C++ program in Netbeans. In the future we plan to add more functionality to the plugin, including an integrated option to use the debugger, syntax coloring and formatting, and code completion.

Presented by:

Ashley Broadwell


Saturday, November 23, 2013




Poster Session 2 - Villalobos Hall

Presentation Type:

Poster Presentation


Computer Science