Pattern for Identifiable Service Specifications (PISS)
Finding out goal-driven services as well as use cases on the basis of business goals and ensuring a 1 to 1 traceability relationship between functional and object-oriented representations of service specifications in order to adapt them swiftly to changes.
Identity : Identifiable Service Specifications
Intent : This pattern aims at finding out services and use cases of a system according to its business goals. It also confers to goal-driven services identified this way a 1-to-1 traceability between their functional and object-oriented representations in order to adapt them swiftly to changes.
Solution : Specify services of the system that are able to support its business goals.
A goal-driven business service captures a set of requirements that belong to one of the goal units of the business system. These services correspond to a business process or to a function that can be mutualised between business processes. Thus, a goal-driven service is composed of cohesive set of requirements and requires participation of resources (actors, use cases, workers, entities, ...) in order to be realised.
For example, in the case of a WebSale system, requirements such as enter visitor, fill questionnaire, notify visitor , etc… constitute a cohesive set of goal-unit about the registration process of an internet visitor. So these requirements can be grouped under the goal-driven service Register Visitor.
Figure 1 : A Goal-Driven Business Service (GDBS) is constituted within a system to encapsulate requirements that belong to the same goal unit
In order to locate goal driven business services in a traditional use case based system, relationships between a business service and the related use case are shown in the figure below.
As business services describe actions and rules that support a goal unit, use cases focus only on actor / system interactions that are necessary to invoke such actions.
The figure below shows a business use case that invokes a goal driven business service in order to realise its actions.

Figure 2: Use cases are discovered on the basis of Goal-Driven Business Services
CAPITALIZING ON THE BUSINESS KNOWLEDGE USING GOAL- DRIVEN BUSINESS SERVICES
A goal-driven business service is a technology independent process that is to be mutualised at the entreprise level in order to support business goals.
A-business goal is a statement about a state or condition of the enterprise to be brought about or sustained through appropriate means in the [Business Motivation Model (BMM) of the OMG].
For instance, in the case of a commercial WEBSALE system, the business goal "Increase Sales using the Websale System" may be supported by TACTICS (means) like " Motivate Visitors to Register " and "Turn visitors into buyers" that channel effort for supporting this higher level goal.
Each one of these tactics is supported, in its turn, by goal-driven business services. This way, starting on the basis of business goals and its underlying means, business services can be discovered by decomposing these goals.
The figure below shows goal-driven business services of a websale system that support tactics indicated by G1, G3 and G4. Tactics are represented using UML system boundaries.
Figure 3 :Goal-Driven Business Services are referenced under tactic regions
Notice : Representing services under tactics helps us to understand how to reconfigure services in order to attain business results aimed by business strategies.
The figure illustrates separation of goal-driven business services (yellow ovals) and use cases (white ones). These latter focus only on actor / system interactions that are necessary to realise these services.
Figure 4 : The figure illustrates separation of goal-driven business services (that encapsulate business rules) from use cases that invoke them
1 -TO- 1 TRACEABILITY TOWARD THE SOFTWARE IN ORDER TO ADAPT SERVICES TO CHANGES
In order to adapt swiftly service specifications to changes, a 1 to 1 traceability relationship is required between their functional and object-oriented representations.
The figure below shows functional and object-oriented representations of a business service respectively at the CIM and the PIM level of the Model Driven Architecture (MDA). At the PIM, a business service is described using a Goal-Oriented Object (GOO), that is an object with a goal. This is expressed using an object in a state like Visitor [Registration] in the figure.
For references : CIM - Computation Independent Model and
PIM - Platform Independent Model levels in the MDA
Figure 5 : Description of services at the MDA's CIM and PIM levels respectively using Activity Diagrams and Goal-Oriented Objects (UML's Class-in-state) notation
The figure below presents a summary of four steps that allow us to go through textual requirements grouped by goal units towards services of SOA based system that are described using Goal-Oriented Objects.
Figure 6 : An overview on the steps to go from textual requirements grouped by goals towards business services described using Goal-Oriented Objects
Conclusion : This pattern aims at finding out services and use cases of a system according to the business goals. It also confers to goal-driven services identified this way a 1-to-1 traceability between their functional and object-oriented representations in order to adapt them swiftly to changes.
Relations : The pattern PISS is a basic pattern for the Goal-Driven SOA. Its solutions are used by the patterns PESS (Pattern for Evolvable Service Specification) and PEXS (Pattern for Executable Service Specification) that aim respectively at adapting services to interfaces offered by other services / legacy system components and early testing services independently of solutions (means) and technologic platforms.
Figure 7 : Relationships between the pattern PISS and other basic patterns for the Goal-Driven SOA : Click on each referenced pattern icon to visualise its detailed description