Home

Search

COMMON INTRODUCTION

GYPSY

DOCUMENTATION

DEVELOPMENT

  • Development Guidelines
  • Development Tools

  • API Package Description
  • API Specification

  • Send a bug report

    DISTRIBUTION

    Contact us


  • DSG Logo

    Gypsy Development Guidelines



    This development guidelines document describes the directory structure, file/package organization, coding standard, and provided tools in the Gypsy project.

    Gypsy Directory Structure

    Project Root (e.g. $HOME/Gypsy)
      |
      +--adm
      |    Contains all administrative data (e.g. configuration- and log files).
      |
      +--at/ac/tuwien/infosys/gypsy/special-package
      |    Contains the sourcefiles for this special package.
      | 
      +--at/ac/tuwien/infosys/gypsy/special-package/image
      |    Contains the images (e.g. icons) for classes of this special package.
      |
      +--beanbox
      |    Java BeanBox from the JavaBeans development kit. Used for testing jars.
      |
      +--bin
      |    Contains all scripts.
      |
      +--config
      |    Reserved for files by GNU autoconf and GNU automake.
      |
      +--doc
      |    Contains the common documentation to this project.
      |
      +--doc/api
      |    Contains the javadoc generated documentation.
      |
      +--doc/wwwsrc
      |    Contains the HTML++ sources for the HTML documentation.
      |
      +--etc
      |    Contains the common files (e.g. templates, environment samples, ...).
      |
      +--jars
      |    Contains all generated JAR archives from the project build.
      |
      +--jpython
      |    Files needed by the JPython compiler.
      |
      +--results
      |    Default directory for writing the result of returning agents.
      |
      +--scripts
           Default directory for mobile scripts.
    
    


    Gypsy Java Package Conventions

    All Gypsy source files are organized in Java packages. Take a look at the Gypsy API Package Description for the right location of your class.


    Gypsy Code Conventions

    In the Gypsy project you should follow the Java Code Conventions from Sun Microsystems. This document contains the standard conventions for the Java programming language and covers filenames, indentation, comments, declarations, statements, white space, naming conventions, and programming practices.

    The following special scripts help you setting up a basic sourcefile. Just go the directory where the source file should be located and type:

    newbean classname

    Generates a Java source file and the corresponding BeanInfo source file for a simple bean out of an exisiting template.

    newclass classname

    Generates a Java source file out of an exisiting template.

    newmain options classname

    Generates a Java source file with a main() method out of an exisiting template. Console and AWT applications are currently supported. Swing will be supported soon.


    Example output:

    /**
     *  This file is part of the Gypsy package on mobile agents.
     *
     *  Copyright (c) 1996-1999 Distributed Systems Group,
     *  Technical University of Vienna.
     *
     *  The Gypsy package is free software; you can redistribute it
     *  and/or modify it under the terms of the GNU General Public License as
     *  published by the Free Software Foundation; either version 2 of
     *  the License, or (at your option) any later version.
     *
     *  This package is distributed in the hope that it will be useful,
     *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     *  GNU General Public License for more details.
     *
     *  You should have received a copy of the GNU General Public License
     *  along with this program; see the file COPYING.
     *  If not, write to the Free Software Foundation, Inc.,
     *  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     *
     */
    
    //package at.ac.tuwien.infosys.gypsy.xxx;
    
    //import at.ac.tuwien.infosys.gypsy.xxx;
    
    
    /**
     *
     *  No class description.
     *
     *  @version $Id: devguide.html++,v 1.1 1999/06/09 12:03:34 lux Exp $
     *  @author Wolfgang Lugmayr
     *
     */
    
    public class TestClass extends WhichSuperobject {
    
            /**
             *  Calls constructor of superclass.
             */
    
            public TestClass() {
                    super();
            }
    
    }
    
    

    accesses to this page since January 1, 1999;
    © 1997-2000 Distributed Systems Group , Technical University of Vienna .
    Created and maintained by Wolfgang Lugmayr ( W.Lugmayr@infosys.tuwien.ac.at ).

    Last update: Tue Jan 4 15:49:19 CET 2000 .