|
Parliament: a module for parliamentary procedure software
Bayle Shanks
Computational Neurobiology Program, UCSD
Dana Dahlstrom
Department of Computer Science and Engineering, University of California, San Diego Full text:
PDF
Last modified: May 6, 2005
Abstract
Parliament is an open-source Python module that can be used to build programs that follow or moderate the conduct of a deliberative assembly using parliamentary procedure. Parliament encapsulates logic and bookkeeping functions necessary for the function of parliamentary procedure, and can be embedded in applications for face-to-face meetings, or for live or asynchronous electronically mediated communication, via voice or via email.
Parliament's central functions track meeting state, such as which motions are in progress, the relationships among them, and the history of the meeting. The outer application is responsible for informing the Parliament module about events as they occur in the meeting, such as "this person made motion X", or, "motion Y failed". Parliament answers queries such as "Which motions are presently valid?", or "Which motions have carried in this meeting?". Parliament is also capable of answering questions about hypothetical situations, such as "Which motion will be pending if this one carries?"
Parliament is geared towards meetings based on motions, but it is not tied to any particular set of motions or rules of order. It allows the user or developer to specify the rules for a given meeting via a flexible and extensible custom language.
This paper discusses the design and usage of Parliament and of the rule-specification language. It presents data structures for representing the state of parliamentary meetings. The paper describes a simple "Robert's Rules meeting assistant" built using Parliament. It also explains how Parliament could be used to run online meetings and to support decision-making in online communities such as wiki or IRC.
|
 |
Learn more
about this
publishing
project...
|
|