Version 2010 is now discontinued. Please, useCSRML Tool 2012 or CSRML Tool 2013
CSRML (Collaborative Systems Requirements Modeling Language) is a Goal-Oriented andi*-inspired Requirements Engineering Language that allow us to specify CSCW (Computer Supported Cooperative Work) systems. By using CSRML, a whole CSCW can be modeled: tasksfull (individual, collaboration, coordination and communication tasks), goals, participants, resources, awareness needs…
CSRML Tool is a Visual Studio 2010 (also available for Visual Studio 2012) plugin that provide support to CSRML. By using this tool, a CSCW system can be fully specified by means of the following CSRML elements ant relationships:
- Role: it is a designator for a set of related tasks to be carried out. An actor playing a role can participate in individual or collaborative tasks (throughparticipation links) and they can be the responsible for the accomplishment of a goal (through responsibility links).
- Actor: it is a user, program, or entity with certain acquired capabilities (skills, category, and so forth) that can play a role while it executes, uses devices or is responsible for actions. An actor has to play a role (specified by means of a playing link) in order to participate in a system.
- GroupActor: this element is a designator for a group composed of one or more actors whose aim is to achieve common goals. By using this element, the representation of groups of users (playing a role) is carried out.
- Goal: it answers “what?” questions. It describes a certain state of the world that an actor would like to achieve. However, a goal does no prescribe how it should be achieved.
- Softgoal: it is a condition in the world that the actor would like to achieve, but unlike the concept of (hard) goal, the condition to achieve it is not sharply defined. A softgoal is typically a quality attribute that constrains other element, such as a goal, a task or a resource.
- Task: it specifies a particular way of doing something. In CSRML the importance of a task is defined by using a color code (green, yellow, orange, red), being the green color the least important and the red the most important one. Two types of CSRML tasks have been identified: abstract and concrete tasks.
- Resource: it is an entity (physical or informational) that the actor needs to achieve a goal or perform a task. The main concern about a resource is whether it is available and from whom.
- Awareness Resource: This specialization of resource element added in CSRML represents a perception that helps a role to accomplish a task by providing the required awareness. This element represents a set of attributes attached to a participation link between a role and a task. Note that this kind of element can be shown in the diagrams in two different ways: the expanded form and the reduced. In the expanded form, the Awareness Resource shows all the Workspace Awareness features that can be set (if needed) along with their importance established depending on their contribution to the accomplishment of a task. This importance can benice to have (N), desirable (D), highly desirable (HD) ormandatory (M). Furthermore, these awareness features are categorized in two sections, one of them related to the present and the other one related to the past.
- Dependency: it is a relationship between adepender and a dependee for a dependum. The depender and thedependee are actors and the dependum can be a goal, a task, a resource, or a softgoal. Thedepender depends on the dependee for achieving a goal, performing a task, or using a resource. If thedependee fails to provide the depender with the required dependum, it becomes difficult or impossible for thedepender to achieve the goal, perform the task, or use the resource. Based on the type ofdependum, there are four types of dependencies: goal dependency, task dependency, resource dependency and softgoal dependency.
- Means-end link: A means-end link documents which softgoals, tasks, and/or resources contribute to achieve a goal. A means-end link also facilitates the documentation and evaluation of alternative ways to satisfy a goal, i.e., different decompositions of a goal into subgoals, tasks, or resources.
- Task decomposition link: A task decomposition link describes the essential elements of a task. A task decomposition link relates the task to its components, which can be any combination of sub-goals, sub-tasks, resources, or softgoals. The decomposition of a task can thus comprise sub-tasks that must be performed, sub-goals that must be achieved, resources that are needed, and softgoals that typically define quality goals for the task.
- Contribution link: A contribution link documents a positive (+), negative (-) or unknown (?) influence from tasks or softgoals to other softgoal. A contribution link describes whether a task or a softgoal contributes to satisfy a softgoal positively or negatively.
- Playing link: A playing link is used to represent when an actor plays a role. This link has a guard condition that represents when a role can be played by an actor.
- Responsibility link: A responsibility link assigns a role (played by an actor) to a (soft)goal or task. This link represents who is the stakeholder responsible for a goal/task accomplishment.
- Participation link: A participation link denotes who is involved in a task. This link has an attribute to specify its cardinality, i.e., the number of users that can be involved in a task. Moreover, it can optionally have an attached awareness resource. In this way, it represents that the role has a special perception need (specified by means of the awareness resource) in order to participate in the task. Without this perception (where,who, what, how, when), the accomplishment of the task could be negatively affected or even the role could not be able to participate in the task.
This tool integrates the whole set of CSRML diagrams. These diagrams are:
- Group Hierarchy Diagram (GHD): it is the first diagram that has to be specified while specifying a CSCW system with CSRML In this diagram,Actors that participate in the system are specified, along with the correspondingGroupActors. The Participation links are used to identify which actors belong to each group (with its corresponding cardinality). If a group has a leader (actor who is both responsible for coordinating a group and acting as a delegate to interact with other groups), it is represented by underlining its name.
- System Goals Diagram (SGD): In the SGD, Actors and GroupActors’ goals are specified and the main tasks for the achievement of these Goals are described. These Actors and GroupActors have a cardinality (between brackets) that represents how many occurrences of each Actor and GroupActor participate in the achievement of a goal.
- Responsibility Diagrams (RDs): In this diagram we represent the decomposition of the main tasks, identified in the previous diagram. With this aim theResponsibility links are used to specify which Actors are responsible for each goal, or soft-goal, and task. Every main task of the system is refined by means of a RD diagram.
- Task Refinement Diagrams (TRDs): In these diagrams, tasks identified in the RD diagram are refined into both more concrete ones and/or new goals until individual or 3C tasks are specified. As many TRD diagrams as required can be specified. In these diagrams, awareness resources linked to participation links are specified.
- Quality factors diagrams (QFDs): In these diagrams, the quality factors that contribute to achieve the main softgoals (quality factors) identified in the RD diagrams are specified. These softgoals are related to the main quality softgoal by means of Contribution links.
CSRML tool help us to specify the requirements of CSCW systems by validating models in three different ways:
- Design-time validation: The graphical editor does not allow us to add incorrect elements to certain diagrams as well as connect elements with incorrect links.
- Meta-model validation: CSRML tool allow us to check if the specified model conforms to the CSRML meta-model.
- Other validations: The validation procedures checks another potential sources of incoherence such as recursive decompositions among tasks and goal or duplicated references.