Introduction UML state diagram notation

Table 44 — UML attributes in “order” operation normal response Name Definition Data type and value Optionality productID Unique identifier for specific resource being ordered Character String type, not empty Values from catalogue metadata One Mandatory orderType Type of order request OrderType CodeList, with allowed values of: orderEstimate, orderQuoteAndSubmit, orderMonitor, and orderCancel One Mandatory orderID Unique identifier for this order Character String type, not empty Value assigned by client One Mandatory orderStatus Current status of the order CodeList data type a One Mandatory resourceEstimate Estimate of the resources needed to process andor deliver the requested resource. Examples of these resources are time until delivery and cost. Character String type, not empty Values TBD One Mandatory orderInformation Specification of current order, as provided by client or modified by server during resource estimation OrderSpecification data type, see Annex C One Mandatory a Possible orderStatus values are orderBeingEstimated, orderEstimated, orderBeingQuoted, orderBeingProcessed, orderCompleted, orderNotValid, and orderCancelled.

7.3 Protocol, interface and operation specializations

The catalogue service specification includes recognized Protocol Bindings, formerly known as Implementation Profiles. Clause 11 defines the rules by which an Application Profile as a dependent specification can be written. Protocol Bindings shall implement the features present in the General Model, described in Clause 7 following the optionality expressed there. Protocol Bindings interpret the general model in the referenced implementation environment. These artifacts are discussed in detail in Subclause 7.2 and the Protocol Binding clauses of this document.

7.4 Dynamic model

7.4.1 Introduction

The Catalogue Interface defines a stateful session a stateless interface will be added in future versions of this Implementation Specification. This subclause defines the states of the session and the allowed transitions between the states. All other state transitions are disallowed and are consider errors if exhibited by a server. A physical server may support more than one session. Each of the sessions is independent when viewed from the interface defined by this specification. In the state models below, a transition is typically triggered by a request. Following the messaging model introduced earlier, a Request is paired with a Response. Generally, a 58 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. transaction in this model is bounded by a request-response pair. Note that a transaction can be statused or cancelled while it is active, i.e., before a response is issued. Once the server has sent a Response, the server treats the receipt of a StatusRequest or CancelRequest as an error, to which it responds gracefully. Gracefully means that the server should respond with a StatusResponse or a CancelResponse with a diagnostic indicating that the RequestIDtoStatus or the RequestIDtoCancel is not recognised. The server shall not change state in response to a StatusRequest or CancelRequest when the transaction is complete, i.e., a Response has been sent.

7.4.2 UML state diagram notation

The state diagrams in the following subclauses use the UML notation. Figure 17 provides a summary of the UML notation used in the following subclauses. Transitions are the paths between states. A transition will occur if the event occurs and the guard condition is true. If a transition occurs, the Action is completed prior to entering the next state. Composite states contain multiple sub-states. Both the Sequential Composite State and the Concurrent Composite State types are used in model for the Catalogue Interface. In a Sequential Composite State only one sub-state is active at any given time. UML defines that when a transition enters Concurrent Composite State all of the sub-states are active, although some of the sub-states may remain in the Initial State. When exiting a composite state, all sub-states are exited as well. State A State B Event Action Event Action Event Action State A State B Event Action Event Action State A Simple State Event [guard condition] Action Transition Initial State Final State Sequential, Composite State Concurrent, Composite State Figure 17 — UML state diagram notation

7.4.3 Catalogue server state machine