Anda di halaman 1dari 25

SYSTEMATIC ELABORATION OF

SCALIBILITY REQUIREMENTS THROUGH


GOAL-OBSTACLE ANALYSIS

Leticia Duboc, Emmanuel Letier,


and David .S. Rosenblum, Fellow,
IEEE

SCALABILITY
Ability to be enlarged to accommodate growth
Usage of virtualization and cloud computing

EXAMPLES OF SCALABILITY
Scenario 1 Web search Engine

Scenario 2 Air traffic control system


Indicators of scalability Performance, Reliability, Availability, Dependability

ISSUES DURING ELABORATION


Specifying scalability requirements that are precise and testable
Identify and manage scalability-related risks early in the development process

Dealing with unknowns, uncertainties


Ensure scalability requirements are neither too strong nor too weak
Adequate tradeoffs between scalability and other qualities

SCALABILITY OBSTACLE
Systematically identifying and resolving potential variations in domain quantities
that will cause goal to fail

GOAL-ORIENTED REQUIREMENTS ENGINEERING


KAOS Approach - Knowledge Acquisition in Automated Specification or Keep All
Objectives Satisfied

Comprises of modeling language and a constructive elaboration techniques


Approach
Goal

TERMS AND DEFINITIONS


Goal - statement of intent that a system should satisfy through the cooperation of
agents.

Agents - active system components, such as humans, hardware devices and software
components
System refers to the composition of the software under development and its
environment.

Goals range from high-level business objectives involving multiple agents to finegrained technical properties involving fewer agents
Domain Properties and Domain Hypotheses Descriptive states about application
domain

AND/OR REFINEMENT STRUCTURE


Goals are organized in AND/OR refinement structures
AND-refinement

Relates a goal to a set of subgoals


Satisfying all subgoals is a sufficient condition for satisfying the goal
OR-refinement

Relates a goal to a set of alternative AND-refinements


Each AND-refinement represents an alternative way to satisfy the parent goal

KAOS APPROACH
Goal elaboration
o Define initial set of high level goals & objects they refer to

o Define initial set of agents and actions they are capable of


Iteratively do the following:
o Refine goals using AND/OR decomposition
o Identify obstacles to goals, and goal conflicts
o Operationalize goals into constraints
o Refine & formalize definitions of objects & actions

GOAL-OBSTACLE ANALYSIS
Goal obstacle analysis consists of identifying, assessing and resolving obstacles.
Identifying as many obstacles as possible

Assessing the relative importance of the identified obstacles in terms of their impact
Resolving more critical obstacles by modifying existing goals, requirements and
assumptions

Identify-Assess-Resolve loop is repeated until all obstacles are considered


acceptable.

UNDERSTANDING SCALABILITY

Scalability requirements, scaling


assumptions and scalability
obstacle analysis

SCALABILITY REQUIREMENTS
Elements required to define scalability
quality goals of the system,

characteristics of application domain and


acceptable levels of quality goal satisfaction

Requires translation to KAOS Framework

TRANSLATION TO KAOS FRAMEWORK


Quality goals correspond to goals whose specification includes domain-dependent
objective functions
Scaling assumption variation of characteristics in application domain

Scalability goals quality goals constrained by scaling assumptions

SCALING ASSUMPTIONS
Domain assumption specifying how certain characteristics in the application domain
are expected to vary over time

Specification of scaling assumptions


One or more domain quantities whose expected variations are defined in the
assumption
The periods of time and classes of system instances over which the assumption is
defined
The range of values each quantity is expected to assume for each system class
over each period of time

EXAMPLE
Assumption - Expected Batch Size Evolution
Category - Scaling Assumption

Definition - From 2011 to 2015,daily batches are expected to contain up to the


following number of transactions for different bank categories
BANK

2011

UNTIL 2013

UNTIL 2015

Small

10,000

15,000

20,000

Medium

1 million

1.2 million

1.8 million

Large

50 million

55 million

60 million

Merger

80 million

85 million

95 million

Our definition of scaling assumption covers the case where variations of domain
quantities refer to a single period of time and a unique class of system instances.

Alternative simpler scaling assumption


Assumption - Expected Batch Size Evolution
Category - Scaling Assumption

Definition Over the next five years, daily batches of transactions for all banks
are expected to vary between 10,000 and 95 million transactions

SUBGOALS FOR GOALS


Subgoal by using the scaling assumption
Goal Achieve [Batch Processed Overnight Under Expected Batch Size Evolution]

Category Performance goal, scalability goal


Definition At the end of each day, the batch of transactions submitted by the bank
should be processed in less than 8 hours, provided that the batch size does not
exceed the bounds stated in the scaling assumption Expected Batch Size Evolution.
Scaling assumption could be descriptive or prescriptive

SCALABILITY GOALS
A scalability goal is a goal whose definition and required levels of goal
satisfaction (as specified by its objective functions) make explicit reference to one or
more scaling assumptions.
The goal Achieve [Batch Processed Overnight Under Expected Batch Size Evolution]
is a scalability goal.
Reason - its definition refers to the scaling assumption Expected Batch Size
Evolution.
Comparison of scaling assumptions for air traffic control system and online store
Scalability goals with fixed objectives and varying objectives

SCALABILITY OBSTACLE ANALYSIS


PROCEDURE
Identifying scalability obstacles that may obstruct the satisfaction of goals,
requirements and expectations elaborated so far.
assessing the likelihood and criticality of those obstacles
Resolving obstacles by modifying existing goals

IDENTIFYING SCALABILITY OBSTACLES


For each goal identify
What defines the goal load.

Agent resources involved in its satisfaction


An obstacle of the form Goal Load exceeds Agent Capacity

ASSESSING SCALABILITY OBSTACLES


Using a qualitative risk analysis matrix
Likelihood of scalability obstacle estimated

Scale ranges from Very unlikely to almost certain


Criticality estimated from Insignificant to catastrophic

RESOLVING SCALABILITY OBSTACLES


Obstacle resolution process comprises two activities
Generation of alternative resolutions

Selection of resolutions among generated alternatives

SCALABILITY OBSTACLE RESOLUTION TACTICS


Goal substitution finding alternative goals
Agent substitution changing the responsibility assignment

Obstacle prevention Introduce new goals and assumptions


Obstacle reduction Introduce new goal to reduce obstacles likelihood
Goal restoration Introduce new goal to restore satisfaction of obstructed goal

Obstacle mitigation Introduce new goal to mitigate consequences of an obstacle


Do-Nothing Leave the obstacle unresolved

CONCLUSION
STRENGTHS
By extending KAOS, we facilitate precise specification of testable scalability
requirements
Scalability obstacle analysis method provides new obstacle resolution tactics
Elaboration covers achieving scalability as well as goal-resolving techniques

WEAKNESS
Statistics from real-time projects not mentioned
No real-time values and experiments included in the elaboration for achieving
scalability

QUESTIONS ?

Anda mungkin juga menyukai