Next: , Previous: The object model of asdf, Up: The object model of asdf


3.1 Operations

An operation object of the appropriate type is instantiated whenever the user wants to do something with a system like

Operations can be invoked directly, or examined to see what their effects would be without performing them. FIXME: document how! There are a bunch of methods specialised on operation and component type that actually do the grunt work.

The operation object contains whatever state is relevant for this purpose (perhaps a list of visited nodes, for example) but primarily is a nice thing to specialise operation methods on and easier than having them all be EQL methods.

Operations are invoked on systems via operate.

— Generic function: operate operation system &rest initargs
— Generic function: oos operation system &rest initargs

operate invokes operation on system. oos is a synonym for operate.

operation is a symbol that is passed, along with the supplied initargs, to make-instance to create the operation object. system is a system designator.

The initargs are passed to the make-instance call when creating the operation object. Note that dependencies may cause the operation to invoke other operations on the system or its components: the new operations will be created with the same initargs as the original one.