1999-01-22  Vladimir Jojic  <vjojic@chama.santafe.edu>

	* Schedule.m ([Schedule_c -remove:]): Another conformsTo: check -
	used in the case of concurrent merge actions.

1999-01-20  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Makefile.am (CURRENT): Bump.

1999-01-20  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* Schedule.m ([Schedule_c -remove:]): Replace respondsTo with 
	conformsTo.

1999-01-14  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Schedule.m ([Schedule_c -createEnd]): Use
	compareUnsignedIntegers instead of compareIDs.

1999-01-13  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* Makefile.am (SUBDIRS): Remove. Directory tests moved to the top. 

1999-01-13  Alex Lancaster  <alex@santafe.edu>

	* Makefile.am (SUBDIRS): Add variable and assign to `tests'.

1999-01-04  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* ActionGroup.m ([GroupPermutedIndex_c -createEnd]): Remove
	a [[self getCollection] createEnd] because createEnd on collection
	is already called from [super createEnd].

1998-12-28  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* CompoundAction.m ([CompoundAction_c -_createActivity_:::]): 
	Don't call generatePermutation after creation of a permuted
	index.

	* ActionGroup.m ([ActionGroup_c -_createPermutedIndex_:]): Use
	-setCollection: instead of +createBegin:forCollection:.
	([GroupPermutedIndex_c -setCollection:]): New method.
	([GroupPermutedIndex_c -createEnd]): Call super createEnd and
	createEnd on collection.
	([ForEachActivity_c +_createRandom_::]): Don't call
	generatePermutation.

	* ActionGroup.h: Remove +createBegin:forCollection:. 
	Add -setCollection:.

1998-12-22  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* Action.h (ActionForEach_0): Add setDefaultOrder:.
	(ActionForEach_1): Likewise.
	(ActionForEach_2): Likewise.
	(ActionForEach_3): Likewise.

	* Action.m ([ActionForEach_0 -setDefaultOrder:]): Implement default 
	order setting.
	([ActionForEach_1 -setDefaultOrder:]): Likewise.
	([ActionForEach_2 -setDefaultOrder:]): Likewise
	([ActionForEach_3 -setDefaultOrder:]): Likewise.

	* ActionGroup.h (GroupPermutedIndex_c): Remove +createBegin:.
	(GroupPermutedIndex_c): Add +createBegin: forCollection:.

	* ActionGroup.m ([ActionGroup_c -createActionForEach:message:]): 
	Remove inheritance of the default order.
	([ActionGroup_c -createActionForEach:message::]):
	Likewise.
	([ActionGroup_c -createActionForEach:message:]): 
	Likewise.
	([ActionGroup_c -createActionForEach:message:]): 
	Likewise.
	([ActionGroup_c -_createPermutedIndex_:]): Use 
	[GroupPermutedIndex -createBegin: forCollection:] instead of
	[GroupPermutedIndex -createBegin:].
	([GroupPermutedIndex_c +createBegin: forIndexSubclass:]): 
	Remove.
	([GroupPermutedIndex_c +createBegin:forCollection:]): Modify 
	[GroupPermutedIndex_c +createBegin:] to support new PermutedIndex
	class.
	([GroupPermutedIndex_c -createEnd]): Modify to support new 
	PermutedIndex class.
	([GroupPermutedIndex_c -dropAllocations:]): Likewise.

	* Schedule.m ([Schedule_c -at:createActionForEach:message:]): 
	Remove inheritance of the default order.
	([Schedule_c -at:createActionForEach:message::]):
	Likewise.
	([Schedule_c -at:createActionForEach:message:::]):
	Likewise.
	([Schedule_c -at:createActionForEach:message::::]):
	Likewise.
	
	
1998-12-22  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* activity.h (ActionType): activate:

1998-12-22  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* CompoundAction.m ([CompoundAction_c -_createActivity_:::]): 
	Use conformsTo: instead of isKindOf:.

1998-12-21  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* SwarmProcess.h: Declare setPageSize:, describeForEach:, 
	describeForEachID:, containsAlloc:, getReclaimPolicy, 
	getStackedSubzones, getSynchronizationType from the Zone and 
	SynchronizationType protocol. 

	* SwarmProcess.m (CSwarmProcess): Implement setPageSize:, 
	describeForEach:, describeForEachID:, containsAlloc:,
	getReclaimPolicy, getStackedSubzones, getSynchronizationType
	from the Zone and SynchronizationType protocol. 

1998-12-20  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* activity.h (Activity): stepEntrystepExit᥽åɤ(߷ץɥȤذư)
	(ScheduleActivity): setTerminateAtEnd:getTerminateAtEnd,getSynchronizedModegetCurrentTimebase(߷ץɥȤذư)creatingեɲá
	(ActionType): -getActionType
	
	* Schedule.m (ConcurrentSchedule_c, ActivationOrder_c,
	ScheduleActivity_c): Add phase tags.

	* SwarmProcess.h (CSwarmProcess): Implement SwarmProcess protocol.

	* Schedule.h (ConcurrentSchedule_c): Implement ConcurrentSchedule
	protocol.
	(ActivationOrder_c): Implement ActivationOrder protocol.
	(ScheduleActivity_c): Implement ScheduleActivity protocol.
	(SwarmActivity_c): Implement SwarmActivity protocol.

	* ActionGroup.m (ForEachActivity_c): Add creating and using phase
	tags.

	* ActionGroup.h (ActionGroup_c): Implement ActionGroup protocol.
	(ForEachActivity_c): Implement ForEachActivity protocol.

1998-12-17  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* activity.h (ActionGroup): OrderedSetϺԲġ
	(Schedule): MapκѤԲġ
	(RelativeTime): create:setRelativveTime:
	(RepeatInterval): create:setRepeatInterval:
	(Action): -getActionType̵
	(ActionType): activate:̵

	* Schedule.h (Schedule): Implement Schedule protocol.

	* ActionGroup.h (ActionGroup_c): Implement ActionGroup protocol.
	(ConcurrentGroup_c): Implement ConcurrentGroup protocol.

	* Action.m (CAction): Add Using phase tag.

	* Action.h (CAction): Implement Action protocol.

1998-12-16  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* ActionGroup.m ([GroupPermutedIndex_c -createEnd]): Use component 
	zone for internal objects of GroupPermutedIndex.

1998-12-15  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* CompoundAction.m ([CompoundAction_c -_createActivity_:::]): 
	Allow subclasses of ActionGroup to be randomized.

1998-12-12  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* Action.m ([CAction -drop]): Use YES instead of 1 as argument
	to dropAllocations:.

	* ActionGroup.m ([GroupIndex_c -dropAllocations:],
	[GroupPermutedIndex_c -dropAllocations:]):  Likewise.

	* activity.m (_activity_initialize): Add defsymbols for
	Randomized, Sequential, and Concurrent.

	* Makefile.am (module_headers): Add activity.xm.

1998-12-11  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* Action.h (CAction): Add new field bits to allow setting 
	BitRandomized in ActionForEach.

	* Action.m ([ActionForEach_0 -_performAction_:]): Support for 
	randomized ActionForEach.
	([ActionForEach_1 -_performAction_:]): Likewise.
	([ActionForEach_2 -_performAction_:]): Likewise.
	([ActionForEach_3 -_performAction_:]): Likewise.
		
	* ActionGroup.m ([ActionGroup_c -createActionForEach:message:]): 
	Mechanism for forEachAction created from within the ActionGroup to 
	inherit the default order of schedule.
	([ActionGroup_c -createActionForEach:message::]): Likewise.
	([ActionGroup_c -createActionForEach:message:::]): Likewise.
	([ActionGroup_c -createActionForEach:message::::): Likewise.
	([ActionGroup_c -_createPermutedIndex_:aZone]): New method that
	creates a GroupPermutedIndex.
	(GroupPermutedIndex_c): New class used for radnomized traversal 
	of a action group.
	([ForEachActivity_c +_createRandom_::]): Support for randomized
	ForEachAction - creates an randomized index for traversal of a
	structure that is the target of ForEachAction.

	* ActionGroup.h (ActionGroup_c): Methods setDefaultOrder and 
	getDefaultOrder reinserted. New method _createPermutedIndex_ used
	to create PermutedIndex for traversal of the ActionGroup.
	(PermutedIndex_c): Add new class for randomized traversal of action 
	groups.
	([ForEachActivity_c _createRandom_::]): New method for creation of 
	ForEachActivity that supports randomized traversal.

	* CompoundAction.m ([CompoundAction_c -setDefaultOrder:]): 
	Reinserted.
	([CompoundAction_c -getDefaultOrder]): Likewise.
	([CompoundAction_c -_createActivity_:::]): Support for Randomized
	Concurrent/ActionGroups implemented.

	* CompoundAction.h: activity.h need not be imported.

	* Schedule.h (Schedule_c): Methods setDefaultOrder and 
	getDefaultOrder inserted.

	* activity.h (DefaultOrder): DefaultOrder 

	* Schedule.m (createGroup): Mechanism for groups created from 
	within the schedule to inherit the default order of schedule.
	([Schedule_c -at:createActionForEach:message:]): Mechanism for 
	forEachAction created from within the Schedule to inherit the 
	default order of schedule.
	([Schedule_c -at:createActionForEach:message::]): Likewise.
	([Schedule_c -at:createActionForEach:message:::]): Likewise.
	([Schedule_c -at:createActionForEach:message::::): Likewise.
       
1998-11-19  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	
	* Schedule.m (_activity_insertAction): modifications to detect 
	dynamic scheduling and "adjacency test" to check if the action
	is to be added before pending action; update of indexes
	if necessary; update mergeSchedules through _update_mergeSchedule
	routine 
	(_update_mergeSchedules): new routine used for updates of merge 
	Schedules in case of dynamic scheduling
	([ScheduleIndex_c -describe:]): modified to print out start time 
	and current time of the schedule index 

	* Schedule.h (ActionMerge_c): Add collectionOfActions
	field to ActionMerge_c to speed up access to schedule
	that is merged
	
	([Schedule_c -_activateUnderSwarm_:::]): using new 
	collectionOfActions field in ActionMerge_c instead 
	of self->subactivity->currentIndex->collection

	* SwarmProcess.m ([ActionMerge_c -describe:]): 
	Likewise
	

1998-10-29  Marcus G. Daniels  <mgd@chama.santafe.edu>

	* activity.h (ActionCreatingTo): createActionTo:message:깽ʸ

1998-10-27  Vladimir Jojic  <vjojic@wijiji.santafe.edu>

	* SwarmProcess.m (notifySwarm): Remove activityRef. 
	([CSwarmProcess -activateIn:]): Likewise.

	* SwarmProcess.h (CSwarmProcess): Likewise.

1998-10-03  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Makefile.am (REVISION): Increment.  Swarm 1.3.1 released.

1998-09-08  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* activity.h (COMPLETEDP, HOLDINGP, INITIALIZEDP, RELEASEDP,
	RUNNINGP, STOPPEDP, TERMINATEDP): ޥ

	* XActivity.m: Reformatting throughout. 
	Use YES/NO instead of 1/0 throughout.
	(auditRunRequest): Use RUNNINGP and COMPLETEDP.
	([Activity_c -_run_]): Use INITIALIZEDP, RELEASEDP, STOPPEDP,
	TERMINATEDP, HOLDINGP, COMPLETEDP, 
	([Activity_c -terminate]): Use RUNNINGP.
	(stopFunction): Use HOLDINGP.
	([Activity_c -stop]): Use TERMINATEDP.
	(nextFunction): Use HOLDINGP.
	(installNext, installStep): Use COMPLETEDP.
	([Activity_c -setOwnerActivity:]): Use RUNNINGP.
	([Activity_c -drop]): Use TERMINATEDP and RUNNINGP.

	* SwarmProcess.m ([ActionMerge_c -_performAction_:]): Use HOLDINGP.

	* Schedule.m: Reformatting throughout.  
	Use YES/NO instead of 1/0 throughout.
	([ScheduleActivity_c -stepUntil:]): Use COMPLETEDP.
	([ScheduleIndex_c -nextAction:]): Use INITIALIZEDP.
	([ScheduleIndex_c -getCurrentTime]): Use INDEXSTARTP.
	([ScheduleIndex_c -get]): Use COMPLETEDP.
	
1998-08-24  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Makefile.am (CURRENT, AGE): Increment.  Swarm 1.3 released.
	(install-data-local): Do two installs, for install-sh case.

1998-07-22  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* activity.h: Τ@deftype@protocolִ

1998-07-12  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* activity.h (Schedule): -insertGroup:

1998-06-24  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* Makefile.am (module_headers): Rename from class_headers.
	(libactivity_la_SOURCES, lib_LIBRARIES):  Remove.
	(install-data-local): New target for modules_headers.
	(activity_HEADERS): Remove $(module_headers).

1998-06-23  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* Makefile.am (lib_LTLIBRARIES, libactivity_la_SOURCES,
	libactivity_la_LDFLAGS, SRC, CURRENT, REVISION, AGE): New
	variables.  Set *_SOURCES from SRC.

1998-06-22  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* Makefile: Remove.
	
1998-06-21  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* Makefile.am: New file.

1998-06-15  Alex Lancaster  <alex@santafe.edu>

	* Action.m (describeFunctionCall): Removed cast of pointer to
	unsigned long.
	(describeMessageArgs): Likewise.

1998-06-14  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* activity.h: DefaultOrderCompoundActionǤDefaultOrderλѤԲġ
ConcurrentGroupTypeDefaultOrderѤ
ActionGroupScheduleAction顢ʬŪʽŤؤθڤ
InternalTimeMultiplierSwarmProcessǤλѤԲġ

	* ActionGroup.h, Schedule.h: Don't declare setDefaultOrder: or
	getDefaultOrder.

	* CompoundAction.m: Don't define setDefaultOrder: or getDefaultOrder.

1998-06-05  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* activity.h: ɥơ󥿥ɲ/addLast:remove:(usingե)

1998-06-01  Alex Lancaster  <alex@santafe.edu>

	* activity.h (ActionType): -activate: anActionType᥽åɤɲá

1998-05-22  Alex Lancaster  <alex@santafe.edu>

	* activity.h: (getCurrentTime,getTopLevelActivity): (//#)ɥơʸɲá (_activity_zone, _activity_trace): ¸Υ饤󥳥Ȥ (//G)ɥơʸѹ

1998-05-08  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* CompoundAction.m ([CompoundAction_c -getAutoDrop]): Convert
	the presence of BitAutoDrop in bits to a boolean.

1998-05-06  Marcus G. Daniels  <mgd@ute.santafe.edu>

	* activity.h:  <p>Υ󥹥󥹤᥽åɤΥڡ󥰤¿ѹ
	(ActionType, ActionCreatingCall, ActionCreatingTo,
	ActionCreatingForEach, ActionCreating, Action, ActionArgs,
	ActionCall, ActionTo, Activity, ForEachActivity,
	ScheduleActivity, SwarmActivity): եɲá
	(GetSubactivityAction): //S//Dɲá
	(SynchronizationType, InternalTimeMultiplier): //Sɲá

1998-04-29  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* activity.h: ץȥDefaultOrderAutoDropCompoundAction򥤥󥯥롼ɡActionCreatingˡץȥActionCreatingToActionCreatingForEach򥤥󥯥롼ɡScheduleˡץȥRelativeTimeRepeatIntervalConcurrentGroupTypeSingletonGroups򥤥󥯥롼ɡSwarmProcessˡSynchronizationTypeInternalTimeMultiplier򥤥󥯥롼ɡ
	ScheduleActivityץȥsetTerminateAtEnd:getTerminateAtEndsetSynchronizedMode:getSynchronizedModegetCurrentTimebase̵
	Τ˥ɥơ󥿥ɲá

1998-04-28  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Schedule.m (_activity_insertAction): Disable code that attempts
	to cope with changes from external schedules.

1997-12-17  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* activity.h: _activity_context_errorؤΰ

	* XActivity.m (auditRunRequest): Constify request.  Reformat
	function.
	(_activity_context_error): Constify macroName. Reformat function.

1997-12-11  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* XActivity.m ([Activity_c -getTopLevelActivity]): Handle activities
	that don't have owners.

	* Schedule.m (_check_external_activity): Check to make sure
	that the schedule associated with non-current activity 
	is still within same activity hierarchy.
	Minor reformatting.

1997-11-13  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* XActivity.m ([Activity_c -_run_]): Do not advance to next action
	if immediateReturnFlag is set; return as holding.

	* Schedule.m ([Schedule_c -_activateUnderSwarm_:::]): Initialize
	mergeExternalAction (a merge action with configurable slots).
	(_schedule_external_activity): Add internal function for
	scheduling merges for one-shot actions.
	(_check_external_activity): Add internal function for detecting
	schedules that are outside the scope of the current activity.
	(_activity_insertAction): Call check for schedules changes to
	external activities.

	* SwarmProcess.m ([ActionMerge_c -_performAction_:]): Set immediate
	return flag in activity if requested by merge.

	* CompoundAction.m ([CompoundAction_c -_createActivity_:::]):
	Initialize immediateReturnFlag.

	* XActivity.h (Object_s): Add immediateReturnFlag.
	
	* Schedule.[hm] ([ScheduleActivity_c -setCurrentTime :]):  Add method
	to synchronize schedules with a given time.
	
	* Schedule.h (ScheduleActivity_c): Add mergeExternalAction instance
	variable for merging external Swarms.

	* Schedule.h (ActionMerge_c): Add flag instance variable
	`immediateReturnRequestFlag' for requesting that next execution of
	activity not proceed to next timestep, but instead return.
	


