📄 swarm.activity.sgml.reference.html
字号:
top-level processor. The activity objects are potentially useful, however, to obtain information about the context in which an action is currently running, or to build debugging or tracing tools to understand actions being performed. </P><P>One of the kinds of context information available from an activity object is the current time of a clock value incremented as a schedule is processed. A schedule is a kind of action plan in which all actions occur at specific points in time explicitly established within the schedule. As a schedule is executed, the activity object keeps a current time clock, which holds a global time from the start of all model execution, regardless of the time when the schedule itself was started. An activity object that processes a schedule is called a timeline activity, because its time continually increases from a global base time regardless of times contained in the schedule. </P><P>New activities are created whenever an action plan being processed contains an action to perform another action plan, or to start another action plan for autonomous execution. If one action plan performs another, its own processing is stopped until a new activity processing the other action plan completes. If one action plan starts another, the new action plan is started as an autonomous activity controlled only by a higher-level, containing activity. </P><P>A Swarm is an activity that exists only to control and coordinate other started subactivities. Unless the subactivities have some special form of explicit synchronization, none of their internal actions has any required ordering relative to those of other plans except as explicitly established during activity execution. The swarm can serve as a simple container of started subactivities which only occasionally synchronize for messages they send to each other. The swarm can be used to hold collections of objects as well as its subactivities as needed to help them coordinate with one another. </P><P>One special form of synchronization within a swarm is built into the virtual processing machinery. This synchronization interleaves the actions that occur for every successive time value during processing of timeline subactivities. This merging of actions is often relied on to interleave display and analysis processing with the scheduled actions of a base model. Since no other mechanisms for subactivity coordination are implemented in the current version of Swarm, synchronizing subschedule activities is the major current role of the Swarm activity type. In later versions of Swarm, a swarm will also serve as an important means for organizing a large models into clusters of more densely interacting components, and will also provide a basis of decomposition for parallel execution. </P></DIV></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="SWARM.ACTIVITY.SGML.SECT1.ADVUSAGE">4. Advanced Usage Guide</A></H1><P>Unavailable</P></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="SWARM.ACTIVITY.SGML.SECT1.SUBCLASS">5. Subclassing Reference</A></H1><P>Subclassing is supported by the activity library as an integral technique for extending the framework it implements. There are two specific places where subclassing is expected as the normal technique of extension: definition of concurrent action groups, and definition of customized swarm objects. Concurrent action groups are not yet fully documented because their full interface is still being finalized. Swarm subclasses should inherit from the Swarm superclass defined in the <AHREF="swarm.objectbase.sgml.reference.html">objectbase</A> library; the activity library provides the underlying support packaged by this superclass. </P></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="SWARM.ACTIVITY.SGML.SECT1.DESIGN">6. Interface Design Notes</A></H1><P>Unavailable</P></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="SWARM.ACTIVITY.SGML.SECT1.IMPL">7. Implementation Notes</A></H1><P>Unavailable</P></DIV></DIV><DIVCLASS="TOC"><DL><DT><B>Table of Contents</B></DT><DT><AHREF="swarm.activity.action.protocol.html">Action</A> — An action type that has been customized for direct execution by an action interpreter.</DT><DT><AHREF="swarm.activity.actionargs.protocol.html">ActionArgs</A> — Supertype of ActionCall, ActionTo, and ActionForEach.</DT><DT><AHREF="swarm.activity.actioncall.protocol.html">ActionCall</A> — An action defined by calling a C function.</DT><DT><AHREF="swarm.activity.actionchanged.protocol.html">ActionChanged</A> — An action generated when actions changes from single to concurrent.</DT><DT><AHREF="swarm.activity.actioncreating.protocol.html">ActionCreating</A> — Protocol shared by ActionGroup and Schedule.</DT><DT><AHREF="swarm.activity.actioncreatingcall.protocol.html">ActionCreatingCall</A> — An action that calls a C function.</DT><DT><AHREF="swarm.activity.actioncreatingforeach.protocol.html">ActionCreatingForEach</A> — Send a message to every item in target, which is assumed to be a collection.</DT><DT><AHREF="swarm.activity.actioncreatingto.protocol.html">ActionCreatingTo</A> — An action that sends a message to an object.</DT><DT><AHREF="swarm.activity.actionforeach.protocol.html">ActionForEach</A> — An action defined by sending a message to every member of a collection.</DT><DT><AHREF="swarm.activity.actiongroup.protocol.html">ActionGroup</A> — A collection of actions under total or partial order constraints.</DT><DT><AHREF="swarm.activity.actiontarget.protocol.html">ActionTarget</A> — Messages common to actions that are sent to an object.</DT><DT><AHREF="swarm.activity.actionto.protocol.html">ActionTo</A> — An action defined by sending an Objective C message.</DT><DT><AHREF="swarm.activity.actiontype.protocol.html">ActionType</A> — Specification of an executable process.</DT><DT><AHREF="swarm.activity.activationorder.protocol.html">ActivationOrder</A> — Default type used as concurrent group of a swarm.</DT><DT><AHREF="swarm.activity.activity.protocol.html">Activity</A> — A level of processing by the interpreter of an action type.</DT><DT><AHREF="swarm.activity.activityindex.protocol.html">ActivityIndex</A> — Additional methods used by indexes over activities.</DT><DT><AHREF="swarm.activity.autodrop.protocol.html">AutoDrop</A> — Specify that an action is dropped after being processed.</DT><DT><AHREF="swarm.activity.compoundaction.protocol.html">CompoundAction</A> — A collection of actions to be performed in any order consistent with a set of ordering constraints.</DT><DT><AHREF="swarm.activity.concurrentgroup.protocol.html">ConcurrentGroup</A> — Default type used as concurrent group of a schedule.</DT><DT><AHREF="swarm.activity.concurrentgrouptype.protocol.html">ConcurrentGroupType</A> — Handle actions scheduled at same time value.</DT><DT><AHREF="swarm.activity.concurrentschedule.protocol.html">ConcurrentSchedule</A> — Time-based map usable for concurrent group.</DT><DT><AHREF="swarm.activity.defaultorder.protocol.html">DefaultOrder</A> — The DefaultOrder option indicates the ordering to be assumed among actions of the plan when no other explicit ordering has been assigned.</DT><DT><AHREF="swarm.activity.faction.protocol.html">FAction</A> — An action defined by sending a FCall.</DT><DT><AHREF="swarm.activity.factioncreating.protocol.html">FActionCreating</A> — An action that calls a FCall.</DT><DT><AHREF="swarm.activity.factioncreatingforeachheterogeneous.protocol.html">FActionCreatingForEachHeterogeneous</A> — Invoke a FCall for every item in the target collection, which can include objects of various types.</DT><DT><AHREF="swarm.activity.factioncreatingforeachhomogeneous.protocol.html">FActionCreatingForEachHomogeneous</A> — Invoke a FCall for every item in the target collection. All members must be of the same type.</DT><DT><AHREF="swarm.activity.factionforeach.protocol.html">FActionForEach</A> — Base protocol for FActionForEach{Homogeneous,Heterogeneous}.</DT><DT><AHREF="swarm.activity.factionforeachheterogeneous.protocol.html">FActionForEachHeterogeneous</A> — An action defined by applying a FAction to every member of a collection.</DT><DT><AHREF="swarm.activity.factionforeachhomogeneous.protocol.html">FActionForEachHomogeneous</A> — An action defined by applying a FAction to every member of a collection All members of the collection must be of the same type.</DT><DT><AHREF="swarm.activity.foreachactivity.protocol.html">ForEachActivity</A> — State of execution within a ForEach action.</DT><DT><AHREF="swarm.activity.getsubactivityaction.protocol.html">GetSubactivityAction</A> — Declare an internal method for getCurrentAction().</DT><DT><AHREF="swarm.activity.relativetime.protocol.html">RelativeTime</A> — Specifies that time is relative to when the schedule started.</DT><DT><AHREF="swarm.activity.repeatinterval.protocol.html">RepeatInterval</A> — Reschedule actions after a period of time.</DT><DT><AHREF="swarm.activity.schedule.protocol.html">Schedule</A> — A collection of actions ordered by time values.</DT><DT><AHREF="swarm.activity.scheduleactivity.protocol.html">ScheduleActivity</A> — State of execution within a Schedule.</DT><DT><AHREF="swarm.activity.singletongroups.protocol.html">SingletonGroups</A> — Indicates that an action group should be created for every time value which is present.</DT><DT><AHREF="swarm.activity.swarmactivity.protocol.html">SwarmActivity</A> — A collection of started subactivities.</DT><DT><AHREF="swarm.activity.swarmprocess.protocol.html">SwarmProcess</A> — An object that holds a collection of concurrent subprocesses.</DT><DT><AHREF="swarm.activity.synchronizationtype.protocol.html">SynchronizationType</A> — Synchronization type sets the type of schedule which is used internally by the swarm to synchronize subschedules. </DT><DT><AHREF="swarm.activity.generic.module.html">General</A> — Processing control over all levels of Swarm execution</DT></DL></DIV></DIV><DIVCLASS="TITLEPAGE"><DIVCLASS="ABSTRACT"><P><B>Documentation and Implementation Status</B></P><P>The activity library is in process of being converted to draw even more of its support from underlying types and classes in the defobj and collections libraries. The basic interface has already been changed to reflect this consolidation, so the progrmming interface for currently available function is expected to remain stable.</P><P>The activity library follows the documentation structure of the Swarm <AHREF="swarm.defobj.sgml.reference.html">library interface conventions</A>. There are placeholders for each section of documentation so that all links should at least link up with something, whether or not there's anything there. The Interface Reference section is already fairly complete, and there is a start toward a more complete Usage Guide section. The Advanced Usage Guide and other sections will come at a later time.</P><P>An attempt has been made to remove all discussion of future capabilities and to document instead only the capability that is already there.</P><P>Source for code examples in the Usage Guide is included in the text where it occurs. Source consists of fragments taken from example programs. The example programs themselves may be downloaded from the web pages and compiled on your own system, using links provided for that purpose. (.. currently there are no code examples in the Usage Guide, which so far is only a general overview of the activity library ..)</P><P>There is also a directory of test programs (<AHREF="swarm.grid.sgml.appendix.html">GridTurtle test programs</A>, contained within the documentation release directory) that provides additional code examples of many basic features of the defobj, collections, and activity libraries. These code examples are very rough and subject to change, however, since their main use is with each new release of the libraries to test various new or existing features. They are sometimes the only source, however, for examples of some library features that have not yet been used anywhere else.</P></DIV><AHREF="swarm.activity.generic.revhistory.html">Revision History (activity)</A></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLEWIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="swarm.collections.generic.module.html">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="set.html">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="swarm.activity.action.protocol.html">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">General</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="book930.html">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">Action</TD></TR></TABLE></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -