swarm-announce
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

The Weekly Pheromone Volume II Issue 6


From: glen e. p. ropella
Subject: The Weekly Pheromone Volume II Issue 6
Date: Wed, 9 Apr 1997 12:12:12 -0600

                         The Weekly Pheromone
                          Volume 2, Issue 6
                          April 9, 1997


   The Pheromone will stand to inform users of the activities and
goals of the hive and user community.  Contributions are accepted that
announce Swarm-related events or activities in any of the growing
Swarm colonies around the world.  To contribute, send e-mail to
address@hidden  The Pheromone is mailed out on Tuesday (or....
maybe Wednesday) if and only if there is information to be
disseminated.

Table of Contents
-----------------

   I.  Nonprofit Swarm.org Draft Plans
  II.  User Community Page Update
       A. New Vision Library and Apps
 III.  New Mailing List

========================================================================

   I.  Nonprofit Swarm.org Draft Plans

   Below is the working document we've been using to help develop the
business plan for the nonprofit organization.  *Everything* in this is
subject to change and is open for suggestions and discussion!!!  So,
please give us your opinions of what we've got so far and how you
think it can be improved.  The numbers to the right of some of the
tasks are estimates of the percentage of time each type of task might
take if a single person were allocated to do the basic tasks and
another person were allocated to do the core tasks.  Feel free to
substitute your ideas of what these numbers should be.

-------------draft swarm.org-business-plan------------------------------

                       Draft Business Plan For
                A Non-Profit Swarm Development Program


Mission:

    Swarm is dedicated to providing advanced forms of agent-based modeling
software to help understand the complex dynamics of society, business,
and nature.

Resources Needed:

   People: >= 2
           - Administrator/developer charged with finding and
             administering funds, arranging user meetings,
             act as liaison between the project and the host
             institution, administering subcontracts, etc.
             Ideally, this person will be intimately familiar 
             with the code and capable of doing the development
             tasks as well.

           - Developer charged with fixing bugs, adding
             features as requested by users, and carrying
             primary responsibility for continuing development
             of the base package.  Alot of the tasks for this
             position can be outsourced.

           - There would also be part-time efforts on the part
             of users and associates of Swarm who would help
             in bug fixing, feature adding, and further dev.

   Computers: >= 2  medium to high-end workstations running
              at least 2 operating systems

           - Intel or DEC Alpha based workstation, both of
             which can run Linux and Windows NT
           - SPARC based workstation

   Overhead: >= 2 desks, phones, printer usage, paper, etc.


Board of Trustees:

   Board of Directors that understands the SWARM mission and that is
very well connected with major funding sources (or themselves can fund
the project).  The role of each board member is to find funding for
Swarm, provide strategic direction to the Swarm technical board, and
help promote Swarm.

   Purpose:

      - Help to provide broad strategic direction to the SWARM
        Technical team--i.e. advice of a broad nature--not technical,
      - Help identify sources of revenue (foundations, govt
        agencies, wealthy individuals, etc.) and help manage that
        revenue together with other assets.
      - Help to promote and spread the word about SWARM and its
        potential.

   Tasks:

      - Together with the technical board, the trustee board should
        develop human resource policies (salaries, benefits, ...) 
        and help with evaluation, hiring, and firing of the executive
        director.  And it should decide the board's structure,
        development, and operation.
      - Monitor and execute changes to the way the org relates to 
        the community (scientific, industrial, and academic). 
      - Together with the technical board, evaluate the success of 
        projects taken on by the .org.  Critique projects based on 
        their respective objectives.
      

   Size: ~15-18 members

      - This should be driven by the fact that if you meet twice a
        year you can't expect more than 40-70% attendance.  To have a
        productive meeting you need 8-10 people.

   Membership:

      Cover as many broad areas as possible.  Possible breakout:

      - 3-5 with a strong business/economics background
      - 3-5 with a natural science background
      - 3-5 with a strong background in social sciences (non-economics)
      - 3-5 at large members--people that have broad interests, have
        a lot of time on their hands, and are connected to sources of
        revenue (private or public or foundations).
      - 2-3 to overlap with technical board and definitely the chair
        of the technical board
      - It is important that about one-third of the board or more
        have some significant tie to SWARM (directly or indirectly).


   Operations:

      - you want them to do all this on a volunteer basis and also pay
        their way to all meetings.  Be clear on this upfront--the
        right volunteers will agree but be clear up front.

      - Try to create a structure where the board works in task forces
        between meetings.  That is the board is more than advisory but
        accomplishes some type of work product (ie. p.r., fundraising,
        etc.).

      - Communications:
        - ??? board meetings per year (2?)
        - Some type of regular report (at the meetings?) to be made
          by the executive director to the board.

   Chairperson:

      - Who?  First identify the person you want to chair or co-chair
        the board.  Perhaps Chris has someone in mind.  If not you
        could ask for nominations from SWARM users and/or SFI
        trustees.  Must be someone with sincere commitment to the 
        goals of Swarm and the time and energy required to do what's
        required.
      - Duties?
        - organizing task forces
        - communications between exec director and board and 
          between tech board and trustee board


Technical Board:

   Some form of board of directors will be needed to provide project
direction and to evaluate the success of the project.  These people
could be selected from the current team, the user community, and
institutions with similar goals or operations.

Operations:


          +----------------------+-------------+-----------+------S
          |                      |             |           |
          |                      |             |           |
          |    +-------+         V             V           V
          |    |       |       +----+       +----+       +----+
          |    |  GR   |       | RA |       | RB |       | RC |     ...
          |    |       |       +----+       +----+       +----+
          |    +-------+      Ga|  |La     Gb|  |Lb     Gc|  |Lc
          |         |           |  |         |  |         |  |
          |         |           |  |         |  |         |  |
          |         |           V  |         V  |         |  |
          |         +<----------+------------+------------+  |
          |         |              |            |            |
          |         |              |            V            |
          |         |              +--------+---+------------+
          |         |                       |
          |         V                       V
          |       +----+                +------+
          |       | GF |                | LOEF |
          |       +----+                +------+
          |         |                       |
          |         |                       |
          |       DG|                       |DL
          |         |                       |
          |         V                       V
          |  +-------------+        +------------------+
          |  | Di,Dj,Dk,...|        | Dai,Daj,Dak,...; |
          |  +-------------+        | Dbi,Dbj,Dbk,...; |
          |           |             | Dci,Dcj,Dck,...; |
          |        DfG|             |      [...]       |
          |           |             +------------------+
          |           |                       |
          |           |                       |DfL
          |           |                       |
          |           +-----------+-----------+
          |                       |
          |                     PG|
          |                       |
          |                  +---------+
          |                  | Product |
          |                  +---------+
          |                       |
          |                     RG|
          |                       |
          +-----------------------+

          o GR              is the General Fund resource and
                            provides the steady funding for the
                            general tasks that are ongoing

          o RA, RB, RC, ... are resource inputs and are assumed
                            to carry specific tasks and funding

          o GF              is the General Fund used to support
                            maintenance tasks

          o LOEF            is the Level of Effort fund used to
                            support work related to specific tasks
                            posed by respective resource

          o Ga, Gb, Gc, ... are resource inputs into the General
                            Fund

          o La, Lb, Lc, ... are resource inputs into the LOEF

          o DG              is the *amount* of Drain on the General
                            Fund (i.e. money and time spent on
                            maintenance tasks)

          o DL              is the *amount* of Drain on the LOEF

          o Di, Dj, Dk, ... are the specific Drains (costs) taking
                            from the General Fund

          o Dai, Daj, ...   are the specific Drains taking from
            Dbi, Dbj, ...   the LOEF (presumably, the same drains
              [...]         on the GF repeated for each indpendently
                            specified LOE task)

          o DfG             is the Drain from the GF for extracting
                            sensible functionality for the product
                            from the maintenance tasks

          o DfL             is the Drain from the LOEF for extracting
                            and merging sensible functionality for the
                            product from the LOE tasks

          o PG              is the cost to sensibly merge the
                            functionality from the maintenance tasks
                            with the functionality from the LOE tasks
                            and is taken from the GF

          o RG              is the cost to provide a release of the
                            product and is taken from the GF


   In words, independent entities with their own specific agendas for
Swarm will contribute resources (money) to the Swarm Program, which
will be split between the general fund and the level of effort fund.
The money in the general fund will balance the costs of maintaining
Swarm and the overhead costs of that maintenance.  It will also pick
up the tab for merging the final product into a workable whole and the
cost of releasing the software.

   The money in the level of effort fund will balance the costs of
developing new functionality specified by the resource institution.
These are categorized as "level of effort" tasks because the Swarm
Program will not explicitly accept contract labor.  Specific contracts
can be facilitated by the Swarm Program, however.  Potential LOE
tasks can be proffered or suggested by the Swarm Program as fundable
efforts.  This proffering should be accompanied by a well-formed
task description and a schedule of milestones to be met.  Then an
interested funding entity (or combination of such) can contribute
funding for the execution of the task or participate in a redesign
of the task.

   An example of an LOE task might be the parallelization of Swarm.
The Swarm team would define what was to be done and develop an
estimate of the milestones necessary and the timeline for the task.
Then that task and schedule would be posted to the mailing list or
to specific entities known to be interested.  Those entities might
have suggested revisions to the schedule or task goals.  Then if
they decide they want to fund such a task, they do so.


Budget:

Drain           |   97/98    |      98/99     |      99/00
--------------------------------------------------------------------
Equipment       |            |                |
  Alpha/Pentium |   6k/3k    |       0k       |        0k
  SPARC/PPC     |  20k/3k    |                |
--------------------------------------------------------------------
People          |            |                |
  Admin/Develop |   90k      |      90k       |       90k
  Developer     |   90k      |      90k       |       90k
--------------------------------------------------------------------
Travel          |    2k      |       2k       |        2k
--------------------------------------------------------------------
Total           |  208k/188k |     182k       |      182k


Bylaws:

  1. Development is not restricted to the copyright owner and
code written by parties other than the copyright owner can be
placed under the ownership of the copyright owner.



Task Delineation:

  Summary:

           Basic Tasks       : 1 Man year
           Core Tasks        : 1 Man year
           Research Projects : (funded as research)


                 Basic Tasks -- Maintenance of Swarm
                 -----------------------------------
                     (This could be outsourced.)


  I. user support (responding to questions/bug-reports)

     1. Bug reports                                                    0.05
        - sent in via e-mail or word-of-mouth
        - no restrictions on who can submit these
        - we assign each a priority and a difficulty
        - notify the bug sender that we've put it in our bug-tracking
          system and that we'll notify them again when it's fixed and
          what version it's fixed in
        - fix the bug according to priority
        - log the bug 'fixed' and notify bug reporter
        - incorporate into next release

     2. Help Desk activities                                           0.55
        - maybe begin selling (at cost) magnetic or optical media
          with source code, binaries, docs, and apps (particularly
          for people with no net access)
        - respond to questions about:
          - availability of Swarm
          - installation for various platforms (OSes and machines)
          - Objective C
          - use of the libraries and objects
          - design of the applications


 II. documentation

     1. Manuals                                                        0.10
        - changes, rewrites, and new (more focussed?) efforts
        - tricks/techniques compendium
        - coding style manual

     2. Online docs (web-site)                                         0.05
        - changes, rewrites, etc
        - new formats (readers without browsers, interaction during
          simulation, etc.)
        - relevancy to current technology and theory
        - references to grounding *for* Swarm and to Swarm *as*
          grounding (cyclic bootstrap)
        - user hub

     3. Educational/Promotional                                        0.05
        - educational (CAS, Multi-Agent vs. traditional simulation)
        - self-promotion (targeting quick understanding of what
          Swarm is good for)

III. general software maintenence and upgrades

     1. Source code control                                            0.05
        - methods (alternate branches, parallel development, etc.)
        - archiving, retrieval

     2. Quality                                                        0.05
        - testing
        - compatibility with older versions & well-defined changes
        - code design: code complexity, unit size, parametric measures

 IV. management of "release" packaging and distribution                0.10

                                                               -------------
                                                               Total:  1.00

 

              Core Tasks  -- Long Term Swarm Development
              ------------------------------------------
        (This would remain as part of the Swarm .org/program.)

  I. Arranging for "contracting" and/or execution of well-defined
        projects involving special extensions to Swarm that
        will be added to the public distribution  (such as the
        NT port, or parallel version) and may affect the overall
        organization of Swarm.

     1. General Need
        - tasks like parallelization, ports to new environments,
          data visualization (e.g. 64-bit port)
        - agent/code reuse catalog/library, simulation archival
          services

     2. Specific Need
        - tasks like GIS tools or value-chain modelling tools

 II. Long term Swarm development directions

     - general libs (Graph library, Analysis library,...)
     - specialized tools (GIS toolbox, value-chain toolbox, ...)
     - redesigning the interface
          - splitting out the gui
          - remote execution/Java front-end


  Time Assignments for Development for first year:

     1. Parallelization of Swarm                                       0.50 
     2. Ports to various platforms                                     0.20 
     3. GUI interfaces                                                 0.10 
     4. GIS interfaces                                                 0.10 
     5. Library/Tool set development                                   0.10 
                                                               -------------
                                                               Total:  1.00 



      Research Projects -- Using and Adding to Swarm as Research
      ----------------------------------------------------------
     (This would take place at any educational or research site.)

   I. Schedules as concurrent programming language
  II. Visual programming interfaces
 III. Application generation frameworks
  IV. Object-oriented class extensions
   V. Multi-language object-oriented programming system
  VI. Runtime code generation
 VII. Automatic storage reclamation
VIII. Simulation query facilities
  IX. Persistent state of simulation, including database interfaces

----------------------------------------------------------------------------



  II.  User Community Page Update

       A. New Vision Library and Apps

   Fabrice Chantemargue has donated an upgrade of the VisionDemo that
works on Swarm 1.0.  He's also added an enhanced application that 
shows the use of the vision library in his research on cooperation
and antagonism.  An interesting part of the enhanced app is the use
of Perl to set up the various runs.

 III.  New Mailing List

   We've created a new mailing list called Swarm-Modelling.  This one
is for the discussion of all the higher level issues related to
modelling and simulation, particularly where they relate to Swarm.  It
should also serve as the forum for discussions about various ideas one
might have about what features Swarm needs or lacks.  But, it is
specifically distinct from Swarm-Support in that its target is an
audience that may not be interested in code.  So, posts to it should
contain primarily English descriptions rather than source code
fragments and such.  Obviously, some programming concepts can only be
described by code or pseudo-code, and so, such is not forbidden; but,
remember to keep discussion aiming at modelling and simulation in
general.

   We now have a suite of 4 mailing lists with distinct purposes:

     Swarm-Announce  -- General announcements about the Swarm project,
                        code, and/or applications.

     Swarm-Support   -- Forum for discussion about the nitty-gritty
                        usage of Swarm, including installation, 
                        bug reports, and feature usage.  The target of
                        this list is "support."

     Swarm-GIS       -- Forum for discussing Geographical Information
                        Systems (GIS) and their integration or usage
                        with Swarm.

     Swarm-Modelling -- Forum for discussing modelling and simulation,
                        especially in the context of Swarm.  Some
                        overlap can be expected between this list and
                        the Swarm-Support list with respect to new 
                        features, protocols, and ways to make an idea
                        work using Swarm.  But, this overlap will lessen
                        with time.




                              =========

The Swarm Pheromone is created by the members of the Swarm project at
the Santa Fe Institute.  For more information on the Swarm Project,
see http://www.santafe.edu/projects/swarm.  Comments, corrections, and
contributions should be sent to address@hidden


reply via email to

[Prev in Thread] Current Thread [Next in Thread]