The Executable Wiki for Scientific Programming

Date: April 6th, 2010
Author: Roberto A. Lotufo and Rubens C. Machado
Organization: UNICAMP / CTI
logo:Adessowiki, April/2010


  • Concept
    • It is a wiki, where the programming code can be embedded in the text. It is executed in the server when the page is rendered updating images, figures and output text.
  • Documents or Applications
    • Centralized;
    • Collaborative;
    • Executable

Collaborative executable documents

  • Collaborative Structured Text (like wiki)
  • Allows the insertion of small parts of code (currently Python, C++) in the text. The graphics, plots, images are displayed as figures in the document
  • Documents can be converted to:
    • PDF
    • Slide show
    • HTML
    • RTF (Word for Windows)


  • No software installation or configuration
  • The client requires just a web browser
  • Collaborative as any wiki
  • Centralized server and application. New versions are easier to make and mantain
  • Centralized data base of images
  • Usually, a professor has the software knowledge spread among the notebooks of its students. AdessoWiki integrates and keeps the algorithms and implementation knowledge constantly available

Possible scenarios

  • Teaching
    • Wiki, Code and Data - scientific programming
    • Environment for collaborative coding and documentation
  • Research
    • Scientific report, paper, thesis
    • All information in one place and synchronized
  • Solution development
    • Client and developers in a collaborative work


  • Easy to verify if the code works
  • Possible to compare different solutions to the same problem
  • Prevents plagiarism (wiki log capabilities)
  • Incentives collaboration (intra and inter classes)
  • Solutions are easily reclycled as the data, the code and its programming environment are available for all in a centralized manner


  • Scientific experiments can be readily reproduced
  • Documents contain source code, data, equations, descriptions and compilation tools together and synchronized
  • Encyclopedia of algorithms with technical explanations
  • E-book of the future -- text, source code and data for reader consumer and collaboration
  • Comparison and assessment of scientific contribution -- future of paper review process
  • Competitions for open innovation


  • Collaborative asynchronous development process among client and developers
    • Client can provide data, problem description
    • Developers (collaborative) provide solutions
    • Client can verify quality of results and give feedback
  • No software installation at the client
  • Software environment are the same for development and deployment

Experiences to date

  • A whole morphological chapter was written using an earlier version of this tool. Now published Academic Press, 2008.
  • Being used as report and demonstrations since 1st semester 2008.
  • First use in an environment for class, 2nd semester 2008.
  • Currently use for Image Processing and Computer Vision Class at Unicamp, UDESC, UFLA and USP

Next Steps

  • Improved user interface, navigation and organization of the documents.
  • Scalabity to expand the system to provide a large number of users simultaneously accessing the system

Competitive advantages

  • Future of scientific programming
  • Creation of a Wikipedia of algorithms and programming
  • End of individual license installation and distribution
  • E-Book editors might be solution providers to this platform
  • On-line courses for scientific programming

Collaborator welcome

If you want to use the system or collaborate, please contact us.