Action Semantics - Action Entities

Action Entities

Action entities can directly represent programs’ semantics by describing possible program behaviors or represent, in a more indirect way, the impact that individual pieces of a program, like statements or expressions, have on the semantics of the program as a whole. They model computational behavior by indicating changes in state through their generation of new values from passed values. Specifically, an action accepts data passed to it via the current information — the transient data given to it, the bindings received by it, and the current state of storage — and, from this, gives new transient data, creates new bindings, updates the state of storage, or any combination of these. An action entity can culminate in three possible ways. It can: complete (terminate normally), escape (terminate in an exception), fail (alternative is discarded), or diverge (not terminate).

There are four categories of information that are processed by action performance. Transient information corresponds to intermediate results and is accessible for immediate use by the action. The data that comprises transient information encompasses the values given by expressions. If these values are not immediately used, they are lost. Scoped information corresponds to symbol tables and can be referenced from anywhere within the action and its sub-actions. It is also possible for such information to be hidden within a sub-action, via the creation of an inner scope, in which case it would be only locally-accessible within that scope, to that sub-action. Stable information corresponds to values assigned to variables and can be modified in the action performance. Because alterations to storage during the performance of an action are persistent, only explicit actions can cause such modifications. In accordance with this, stable information is available until it is explicitly destroyed. And, unlike scoped information, it cannot be hidden. Permanent information corresponds to data exchanged between actions and can be extended but not modified. Transient information is produced only when an action completes or escapes, and scoped information is produced only when an action completes. The modification of stable information and the extension of permanent information must take place during action performance.

An action entity has five different facets, one for processing that does not rely on information, and four for processing each of the four different types of information. The basic facet, an example of which would be control flows, is not tied to information of any kind. The functional facet deals with the processing of transient information and is characterized by actions giving and accepting data. The declarative facet deals with the processing of scoped information and is characterized by actions creating and receiving bindings. The imperative facet deals with the processing of stable information and is characterized by actions allocating and freeing storage cells, and fetching and modifying the data stored in them. The communicative facet deals with processing permanent information and is characterized by actions sending and receiving messages and “offer contracts to agents.” There are two different kinds of actions in terms of their effect on the information in each facet. Primitive actions only affect the information in one facet. Action combinators permit actions that involve multiple facets, governing how control and information flows for each facet involved in a combined action. In combining actions, action combinators governor the sequencing of sub-action performances and the incoming and outgoing flows of data for each sub-action.

Read more about this topic:  Action Semantics

Famous quotes containing the words action and/or entities:

    We have seen the city; it is the gibbous
    Mirrored eye of an insect. All things happen
    On its balcony and are resumed within,
    But the action is the cold, syrupy flow
    Of a pageant.
    John Ashbery (b. 1927)

    What are you now? If we could touch one another,
    if these our separate entities could come to grips,
    clenched like a Chinese puzzle . . . yesterday
    I stood in a crowded street that was live with people,
    and no one spoke a word, and the morning shone.
    Everyone silent, moving. . . . Take my hand. Speak to me.
    Muriel Rukeyser (1913–1980)