[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- The Weekly Pheromone Volume II Issue 6,
glen e. p. ropella <=