27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DETECTING EMERGENT BEHAVIOR IN<br />

DISTRIBUTED SYSTEMS CAUSED BY<br />

OVERGENERALIZATION<br />

Seyedehmehrnaz Mireslami Mohammad Moshirpour Behrouz H. Far<br />

Department of Electrical and Computer Engineering, University of Calgary, Canada<br />

{smiresla,mmoshirp,far}@ucalgary.ca<br />

Abstract— Distributed system design faces many challenges<br />

due to lack of central control. Emergent behavior is a vital<br />

problem in distributed systems and leads to unexpected<br />

behaviors and major faults. Emergent behaviors are usually<br />

categorized into two groups: emergent behaviors occur due to<br />

scenarios incompleteness and emergent behaviors that are<br />

produced as a result of synthesis of behavior models. In this<br />

paper, the methods for detecting the second group of emergent<br />

behaviors are studied and a technique for synthesis of behavior<br />

models from scenarios is developed to be employed for<br />

detecting emergent behaviors. The proposed technique detects<br />

overgeneralization in the behavior model synthesis.<br />

Overgeneralization happens as the result of behavior model<br />

synthesis and depends on the assumptions of the process. In<br />

addition, the proposed technique addresses the issue of the<br />

existing ad-hoc methodologies by providing an automated<br />

algorithm. This algorithm can be used by a syntax checker to<br />

automatically detect the emergent behaviors in the scenarios.<br />

The proposed algorithm is validated using a case study of a<br />

mine sweeping robot.<br />

Keywords; Distributed systems; Emergent behavior; Message<br />

sequence chart; Overgeneralization.<br />

I. INTRODUCTION<br />

A distributed system is composed of several components<br />

without a central controller [1]. Distributed systems<br />

specification is usually composed of a set of scenarios that<br />

show system components and messages sent between them.<br />

Scenarios are generally shown using Message Sequence<br />

Charts (MSCs) or sequence diagrams [2, 3]. Behavior of the<br />

components can be generated using the scenarios.<br />

A popular approach for analyzing the behavior of system<br />

components, is going from scenarios to state machines, i.e.<br />

synthesis of behavior models [4-6]. Each component is<br />

modeled by a state machine and the messages that are sent<br />

and received determine the states and transitions.<br />

In the process of behavior model synthesis, several<br />

behaviors not originally intended for system may happen<br />

that are called em ergent behaviors [8-10]. They are eith er<br />

unexpected situations that may be caused by incompleteness<br />

of the scenarios or produced as the results of behavior model<br />

synthesis. Detecting emergent behavior in early design<br />

stages reduces the deployment costs significantly [11].<br />

There are two types of emergent behaviors: first group is<br />

detected by comparing the behavior models and scenario<br />

specifications by considering the properties of the system.<br />

The second group is result of overgeneralization [7]. Hence,<br />

it depends on the rules and assumptions of the behavior<br />

model synthesis.<br />

Only a few works have targeted the overgeneralization<br />

problem. In [7], synthesis of state machines from scenarios<br />

is proposed. However, the relationships between scenarios<br />

are rather ambiguously defined. Blending scenarios is<br />

necessary as it provides a comprehensive overview of<br />

system behavior. Two methods are proposed to combine the<br />

scenarios: state identification and scenario composition. In<br />

state identification [5, 6, 12], the components are f irst<br />

modeled with different states in the state machines and<br />

similar component states a re identified and combined to<br />

enable the scenarios to merge. In [2], another approach for<br />

merging scenarios is proposed where scenarios are split to<br />

smaller parts with lower complexity and high-level MSC<br />

graphs are used to blen d the smaller sequence of behavior<br />

since they are simpler to manage.<br />

In [13], a technique to identify the identical states that<br />

may cause emergent behaviors is proposed and a method to<br />

synthesize emergent behaviors by merging identical states is<br />

presented. This leads to detecting emergent behavior due to<br />

presence of identical states. However, although identical<br />

states are the potential causes of emergent behavior, not all<br />

identical states may lead to e mergent behavior. The<br />

shortcomings of this technique are: first, all identical sta tes<br />

are used for merging the state m achines, and<br />

overgeneralization is inevitable; and second, it relies on<br />

designer to decide which states causes emergent behavior.<br />

As ad-hoc methods are unreliable and inefficient, in this<br />

paper, we replace th e ad-hoc methodology in [13] by an<br />

automated method. A technique is devised to distinguish the<br />

identical states that cause emergent behaviors. To have a fair<br />

comparison with [13], the same mine sweeping robot system<br />

used in [13] is considered.<br />

70

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!