Local

Gapped

Subforest

Alignment

and

Its

Application

in

Finding

RNA

Structural

Motifs

Abstract.

RNA

molecules

whose

secondary

structures

contain

similar

substructures

often

have

similar

functions.

Therefore,

an

important

task

in

the

study

of

RNA

is

to

develop

methods

for

discovering

substructures

in

RNA

secondary

structures

that

occur

frequently

(also

referred

to

as

motifs).

In

this

paper,

we

consider

the

problem

of

computing

an

optimal

local

alignment

of

two

given

labeled

ordered

forests

F

and

F

This

problem

asks

for

a

substructure

of

F

and

a

substructure

of

F

that

exhibit

a

high

similarity.

Since

an

RNA

molecule's

secondary

structure

can

be

represented

as

a

labeled

ordered

forest,

the

problem

we

study

has

a

direct

application

to

finding

potential

motifs.

We

generalize

the

previously

studied

concept

of

a

closed

subforest

to

a

gapped

subforest

and

present

the

first

algorithm

for

computing

the

optimal

local

gapped

subforest

alignment

of

F

and

F

We

also

show

that

our

technique

can

improve

the

time

and

space

complexity

of

the

previously

most

efficient

algorithm

for

optimal

local

closed

subforest

alignment.

Furthermore,

we

prove

that

a

special

case

of

our

local

gapped

subforest

alignment

problem

is

equivalent

to

a

problem

known

in

the

literature

as

the

local

sequence-structure

alignment

problem

(lssa),

and

modify

our

main

algorithm

to

obtain

a

much

faster

algorithm

for

lssa

than

the

one

previously

proposed.

An

implementation

of

our

algorithm

is

available

at

Its

running

time

is

significantly

faster

than

the

original

lssa

program.

Many

areas

of

computer

science

use

labeled

ordered

trees

to

represent

hierarchically

structured

information.

It

is

often

necessary

to

measure

the

similarity

between

two

or

more

such

trees

or

to

identify

parts

of

the

trees

that

are

similar,

e.g.,

in

software

construction

and

maintenance

applications

or

to

find

structural

changes

between

different

versions

of

electronic

documents

for

information

management

and

data

archiving

purposes

In

computational

molecular

biology,

labeled

ordered

trees

can

represent

RNA

molecules'

secondary

structures

By

measuring

and

comparing

the

similarity

of

secondary

structure

trees,

researchers

who

investigate

structural

or

evolutionary

relationships

between

RNA

molecules

may

obtain

additional

clues

Automated

methods

for

finding

shared

substructures

in

RNA

secondary

structure

trees

are

also

of

great

value;

an

important

task

in

the

study

of

RNA

is

to

develop

tools

for

discovering

frequently

recurring

patterns

in

their

secondary

structures

(also

known

as

motifs)

which

are

helpful

when

investigating

the

various

This

seems

especially

useful

when

the

strings

representing

the

primary

structures

of

the

molecules

cannot

be

reliably

aligned,

as

in

the

case

of

pRNA

and

mrpRNA

studied

in

In

general,

if

the

RNA

molecules

to

be

compared

have

evolved

for

a

long

time,

methods

that

also

take

into

account

secondary

structure

information

are

potentially

more

accurate

than

those

that

only

rely

upon

the

primary

structure

functions

in

the

cell

of

different

types

of

RNA

or

when

predicting

the

secondary

structure

of

a

newly

found

RNA

molecule

(see,

e.g.,

Two

ways

to

measure

the

overall

similarity

between

two

labeled

ordered

trees

are

by

using

the

tree

edit

distance

or

alignments

of

trees

The

problem

of

computing

the

optimal

alignment

of

two

trees

can

be

viewed

as

a

special

case

of

the

tree

edit

distance

problem

indeed,

the

fastest

known

algorithms

for

optimal

alignment

between

two

trees

have

lower

time

complexities

than

the

fastest

known

algorithms

for

the

tree

edit

distance,

both

for

unordered

trees

whose

degrees

are

bounded

by

a

constant

and

for

ordered

trees

whose

degrees

are

much

smaller

than

their

depths

However,

alignments

between

trees

as

defined

in

consider

similarities

on

the

global

level

only,

in

the

sense

that

every

node

in

the

input

trees

must

be

paired

off

with

either

a

node

in

the

other

tree

or

a

space.

Recently,

and

extended

the

concept

of

a

global

alignment

of

trees

to

a

local

alignment

of

trees

by

introducing

problems

in

which

the

objective

is

to

find

two

substructures

of

the

two

input

trees

having

the

highest

possible

similarity,

where

the

similarity

between

two

substructures

is

defined

using

the

maximum

score

of

a

global

alignment

between

them..

In

this

paper,

we

improve

the

time

and

space

complexities

of

the

main

algorithm

presented

in

Moreover,

we

further

extend

the

set

of

mathematical

definitions

and

notations

for

local

similarity

in

labeled

forests

by

generalizing

the

concept

of

a

closed

subforest

used

in

to

what

we

call

a

gapped

subforest.

Based

on

this

new

concept,

we

define

a

computational

problem

called

the

local

gapped

subforest

alignment

problem

(lgsf

that

can

express

even

more

general

patterns

of

local

similarities

in

two

labeled

ordered

forests

than

the

problem

considered

in

and

give

an

efficient

algorithm

for

solving

it.

We

also

prove

that

a

special

case

of

lgsf

which

we

refer

to

as

lgsf

β

can

be

used

to

express

the

local

sequence-structure

alignment

problem

(lssa)

presented

in

implying

that

a

slightly

modified

version

of

our

algorithm

for

lgsf

can

be

applied

to

solve

lssa

much

faster

than

the

algorithm

given

in

at

the

cost

of

a

minor

increase

in

space

complexity.

Finally,

we

implement

our

improved

algorithms

for

local

subforest

alignment

problems

and

apply

them

to

find

structural

motifs

of

RNA

secondary

structures.

We

apply

a

space-saving

tabulation

technique

proposed

in

to

reduce

the

amount

of

memory

used

by

the

program,

and

perform

experiments

on

real

RNA

secondary

structures

to

investigate

the

results

of

our

algorithms

in

reality.

In

this

paper,

we

have

introduced

a

new

problem

called

the

local

gapped

subforest

alignment

problem

(lgsf

and

provided

an

efficient

algorithm

to

solve

it.

Moreover,

we

have

applied

our

techniques

to

the

local

closed

subforest

alignment

problem

(lcsf

defined

in

as

well

as

the

problem

of

finding

local

RNA

sequence-structure

motifs

(lgsf

β

considered

in

improving

on

both

the

time

and

space

complexity

needed

by

the

algorithm

in

and

greatly

improving

on

the

running

time

of

the

algorithm

in

by

taking

advantage

of

the

forest

representation

of

RNA

secondary

structures.

Lastly,

we

have

implemented

the

LGSF

Aligner

program

which

is

based

on

our

improved

algorithms

for

lgsf

β

to

find

RNA

structral

motifs.

We

have

performed

experiments

on

real

RNA

secondary

structures

and

investigated

the

practical

issues

of

our

algorithms

thoroughly..

Our

proposed

problem

and

solution

motivate

future

developments

in

local

alignments

of

labeled

ordered

forests.

One

of

the

challenges

is

to

find

even

more

efficient

algorithms

for

these

types

of

problems.

Any

improvement

can

have

a

vital

impact

on

RNA

comparison

and

structure

prediction

applications.

Another

interesting

task

is

to

further

generalize

our

local

gapped

subforest

alignment

problem

by

allowing

exclusions

of

more

than

one

closed

subforest

sharing

the

same

parent

node.

Lastly,

new

alignment

models

could

be

proposed

to

improve

the

accuracy

for

RNA

comparison

and

structure

prediction.

LGSF

Aligner

was

written

in

Java,

and

was

run

with

real

RNA

secondary

structures,

mainly

taken

from

The

running

time

and

the

space

usage

of

LGSF

Aligner

were

compared

with

those

of

lssa

program

written

in

C++.

The

experiments

were

conducted

on

WindowsXP

environment,

the

system

was

an

Intel

Pentium

running

at

with

of

RAM..

The

first

experiment

performed

on

secondary

structure

elements

with

putative

selenocysteine

insertion

function

showed

that

LGSF

Aligner

correctly

aligns

their

putative

SECIS-motifs

(see

Fig.

of

These

RNAs

are

short

and

thus

both

programs

compute

their

alignments

in

less

than

second.

The

second

experiment

computed

a

number

of

RNase

P

alignments

of

RNA

secondary

structures

taken

from

The

running

time

of

LGSF

Aligner

is

significantly

faster

than

lssa;

however

LGSF

Aligner

consumes

a

considerable

amount

of

memory:

about

are

required

to

align

two

RNA

secondary

structures,

each

of

which

has

about

bases,

whereas

lssa

only

used

about

of

memory.

The

memory

bottleneck

is

due

to

two

reasons:

additional

parameters

in

the

forest

representation

of

RNAs

and

many

matrices

required

to

store

alignment

scores

and

traceback

information.

The

following

table

shows

the

comparison

of

the

running

time

(in

seconds)

of

LGSF

Aligner

and

lssa.

In

the

experiments,

our

main

purpose

is

to

apply

the

improved

algorithms

for

local

subforest

alignment

problems

to

compare

RNA

secondary

structures.

We

implemented

the

algorithm

for

lgsf

β

presented

in

Section

and

Section

and

tested

the

program

on

real

RNA

secondary

structures.

As

discussed

in

Section

our

LGSF

Aligner

program

has

the

same

function

as

the

lssa

program

implemented

by

LGSF

Aligner

takes

as

input

two

RNA

secondary

structures

in

FASTA

format,

represents

them

as

labeled

ordered

forests,

and

computes

their

optimal

β-gapped

subforest

alignment.

In

the

program,

we

follow

the

scoring

function

suggested

by

lssa.

Besides,

we

apply

the

space-saving

tabulation

technique

proposed

by

-root

is

an

imaginary

root

whose

children

are

roots

of

the

maximal

trees

in

the

forest.

-u

is

the

immediately

previous

node

of

u

in

the

preorder

traversal

of

the

forest..

-nRSiblings(u)

is

the

number

of

right

siblings

of

u,

including

itself..

-u

is

the

i-th

right

sibling

of

u..

In

other

words,

of

f

set

acts

as

an

injective

function

from

the

set

of

sibling

intervals

in

the

forest

to

the

set

of

integers,

i.e.

each

sibling

interval

u..u

is

indexed

by

a

unique

integer.

This

tabulation

technique

does

not

reduce

the

worst

case

space

complexity,

but

in

practice

it

considerably

reduces

the

space

required

by

the

program.

This

is

especially

important

because

it

enables

the

algorithms

to

be

run

with

long

RNA

molecules,

in

which

case

the

amount

of

memory

usage

increases

rapidly.

O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Dominance rules in combinatorial optimization problems The aim of this paper is to study the concept of a "dominance rule" in the context of combinatorial optimization. A dominance rule is established in order to reduce the solution space of a problem by adding new constraints to it, either in a procedure that aims to reduce the domains of variables, or directly in building interesting solutions. Dominance rules have been extensively used over the last fifty years. Surprisingly, to our knowledge, no detailed description of them can be found in the literature other than a few short formal descriptions in the context of enumerative methods. We are therefore proposing an investigation into what dominance rules are. We first provide a definition of a dominance rule with its different nuances. Next, we analyze how dominance rules are generally formulated and what are the consequences of such formulations. Finally, we enumerate the common characteristics of dominance rules encountered in the literature and in the usual process of solving combinatorial optimization problems. In combinatorial optimization, the term "dominance rule" seems to have been introduced in the late fifties. We can find it in early papers by Manne [1] , Levitan [2] , Ignall and Schrage [3] , Fox [4] , Proshan and Bray [5] , Weingartner and Ness [6] and Elmagharaby [7] , although the term seems have taken several years to be established. Later, it was intensively used by Baker [8] , Kohler and Steiglitz [9] and Ibaraki [10] . Dominance rules had, however, been used much earlier, but under different names. Johnson [11] talked about a "decision rule" for the two-machine flowshop scheduling problem, since such a rule allowed him to construct an optimal solution directly. In the same way, Smith [12] spoke of a "sufficient condition of optimality" for the one-machine total weighted completion time scheduling problem. In the context of integer linear programming, Gomory [13] used the term "additional constraints" that are needed to be satisfied by integer solutions. Swift [14] talked about a "rejection" rule for eliminating solutions isomorphic to other solutions. Giffler and Thompson [15] spoke of a characterized subset of solutions containing a subset of optimal solutions.. These different terms are often contextual but express the same general idea: eliminating uninteresting solutions, or selecting interesting solutions. The common theme is that one subset of solutions is rejected while the complementary subset is retained.. The interest of dominance rules is obvious, since their raison d'être is to reduce, either statically or dynamically, the search space of combinatorial problems which are in the process of being solved. Among these, scheduling problems have been the subject of much investigation because of their applications in industry. "Scheduling is the allocation of resources over time to perform a collection of tasks" [8] . Since the early works of Johnson [11] and Smith [12] in the mid fifties, scheduling has remained at the interface between theory and practice [16] . It has given rise to a number of techniques for problem solving including dominance rules which have played an important role. Therefore, throughout this paper, we shall be looking at a single-machine scheduling problem which is sufficiently general to illustrate all the concepts.. In this paper we try to provide a kind of bird's eye view of dominance rules in combinatorial optimization problems. In Section 2 we define combinatorial optimization problems and provide definitions which will be useful later on. In Section 3 we define the concept of a dominance rule. In Section 4 we analyze how dominance rules are generally formulated and what the consequences of such formulations are. Next, in Section 5 we provide a list of the main characteristics of dominance rules encountered in the literature. In Section 6 we show how the concept of dominance is extended to dominance rules themselves, or to problems or instances of problems. Finally, the main uses of dominance rules for solving combinatorial optimization problems are discussed in Section 7. Many of the "problems of everyday life" are computable and can be handled using computers. Optimizing energy and raw material consumption and reducing costs have recently become crucial objectives, both for ecological and economic reasons. A lot of the problems in question can be viewed as combinatorial optimization problems, defined by a set of variables subject to constraints. The aim is to find an assignment of the variables which satisfies all the constraints and which maximizes or minimizes an objective function representing a performance measure of the solution. There are a wide range of applications, including the distribution of goods, production scheduling, planning, budgeting, facility location and transportation network design. Dealing with these problems is a challenge. Indeed, most of them belong to the class of NP-Hard problems. Most of the time, and even for small-scale problems, the number of possible assignments is so huge that it is not feasible to consider all possibilities. Finding ways to reduce the search spaces is therefore a key issue. Dominance rules, which eliminate uninteresting assignments or select interesting ones, are important stratagems. The interest of dominance rules is obvious since they reduce the search space of combinatorial problems which are in the process of being solved. Informally, a dominance rule identifies, generally via the formulation of properties, a subset of assignments containing at least one optimal solution. Despite their extensive use in solving combinatorial optimization problems, no detailed description of them is, to our knowledge, to be found in the literature. Thus, in this paper we have formally defined dominance rules. We have 22. established how dominance rules can be formulated and characterized. Moreover, we have shown how useful dominance rules can be in solving combinatorial problems. It should be noted that the elaboration of the model remains the most crucial step in the problem solving process. Dominance rules can be used at this stage to reduce the search space at the outset, as this paper has pointed out. However, the richness of the model and its associated expressive power are also highly significant. Using dominance rules in filtering methods clearly shows that the different structural properties of interesting solutions are revealed only in the nuances of an elaborated model. This is why we think that calling traditional models into question might be the first step towards discovering new solutions to optimization combinatorial problems.

B I O B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Combined dynamic voltage scaling and adaptive body biasing for heterogeneous distributed real-time embedded systems is a powerful technique for ledueing dynamic power consumption in a computing system. However, as technology feature sire continus to r d e , leakage power is increasing and will limit power savings obtained by DVS alone. Previous system-level real-time scheduling approaches use DVS alone to optimize power consumption with. out considering Leakage power. To overcome Ihu Limitation, we propose a new scheduling algorithm that combines DVS and adaptive body biasing (ABB) to simulmeously optimize both dynamic power consumption and Ieahage power consumption for real-time distributed embedded system. First, we derive an analytical expresioo Lo determine the optimal supply voltage and bady bias voltage under a dven e l d frequency. Based on this exprwion, we compute the optimal energy consumption at a given dock frequency and a mlyze the tradeoff between energy eonsvmptioo and execution time for a set of task with precedence relationships and real-time constraints. We then propose B scheduling algorithm to reduce total wwor consumption under given resl-time comtraiots. T U algorithm also considen variations in power con-

O B I I O O O O O O B B O B O O O O O O B B I O O O O O O O B O O O O O O O B I O O O O O B O O O O O O O B O O B O O O O B I O O O B I O O O O O O O O B I O O O O O O O O O O O O B B I O O B I O B B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O B I O O O O O O O O O O O B O O O O B O


Achieving the way for automated segmentation of nuclei in cancer tissue images through morphology-based approach: A quantitative evaluation In this paper we address the problem of nuclear segmentation in cancer tissue images, that is critical for specific protein activity quantification and for cancer diagnosis and therapy. We present a fully-automated morphology-based technique able to perform accurate nuclear segmentations in images with heterogeneous staining and multiple tissue layers and we compare it with an alternate semi-automated method based on a well established segmentation approach, namely active contours. We discuss active contours' limitations in the segmentation of immunohistochemical images and we demonstrate and motivate through extensive experiments the better accuracy of our fully-automated approach compared to various active contours implementations. Bio-image processing leads to the development of diagnostic tools helping pathologists and genetists in the quantification of biological activities related to diseases as well as in the design of targeted therapies [1, 2, 3] . Immunohistochemistry (IHC) [4] is a well established imaging technique that exploits intensity of stains in tissue images to quantify the protein activity related to cancer development. Image processing techniques in this context are devoted to the accurate and objective quantification and localization of such activity in specific regions of the tissue such as cytoplasm, membranes and nuclei.. In this paper we address the problem of nuclear segmentation in immunohistochemical (IHC) tissue images, that is critical for further investigations on target protein activity [5] . The main motivations of our work are: i) to overcome the limitations of the existing methods with a fully-automated morphology-based technique; ii) to provide a better segmentation accuracy compared to a widely used and trusted method in Computer Vision and medical image processing, namely active contours, which is not well-performing in IHC tissue image segmentation. A deep quantitative evaluation of the accuracy of our morphology-based methods and active contours is provided.. Nuclear segmentation in IHC tissue images is a challenging task due to the intrisic complexity of tissue images and to the many sources of variability that affect IHC technique. Main challenges are related to the non predictable size and shape non uniformity induced by the pathological process and by the lack of homogeneity of nuclear regions both in terms of morphological and chromatic features. From the morphological viewpoint, problems for segmentation arise from the presence of overlapping cells and nuclei, which are extremely difficult to separate, as well as to the presence in the sample of other non pathological structures (e.g. connective tissue structures, blood vessels, lymphocytes, etc) which may lead to segmentation errors. From the chromatic viewpoint, nuclear regions are characterized by non-uniform stain intensity and color, thus preventing a trivial segmentation based on color separation. In fact, the superposition of tissue layers as well as the diffusion of the dyes on the tissue surface may bring the stains to contaminate the background or other cellular regions which are different from their specific target. Moreover, different portions of the same tissue area may be not equally enlightened and stained.. We present a fully-automated nuclear segmentation technique that exploits morphological and chromatic characteristics of the tissue in order to recognize images with nuclear, cellular membrane and cytoplasm activations; this allows the method to adapt to the characteristics of the image without any user-interaction. In our technique we separate nuclei from background by exploiting local analysis of intensity distribution in the neighborhood of each cell, that depends on the expected size of the cell and then on image resolution; this minimizes the effect of noise as well as of uneven staining and inhomogeneous enlightenment; then we separate clusters through our enhanced watershed technique which merges oversplit nuclei by exploiting specific chromatic characteristics of the cells.. Our morphology-based technique is compared to active contours, that is a well known and trusted technique in biomedical image processing [6, 7, 8, 9, 10] . However in the context of IHC tissue imaging remarkable intensity variations inside and outside the cellular regions to be segmented stress the limitations of active contours, calling for morphology-based approaches where the specific features of IHC images can be effectively expressed and exploited. Extensive experimental results show that our method is more accurate than various formulations of active contours in segmenting nuclei in IHC tissue images. Besides accuracy, another key metric to evaluate a bio-image processing tool is its autonomy with respect to operator input. Active contours is generally a semi-automated method that requires the operator to define a curve which the algorithm cripples iteratively to fit the boundary of the target region. On the contrary, the morphology-based technique we present in this paper provides a completely automated nuclear segmentation. To enable fully automated procedure, we also developed a pre-classification step to distinguish images showing nuclear protein activation from membrane and Figure 1 : IHC tissue images. From the left: membrane activations (x400); cytoplasm activations (x200); nuclear activations (x800). cytoplasm activation, so that a pathologist can give any set of tissue images as input to the tool which will recognize the type of activation and provide the quantification result as output.. A quantification technique for detection of protein activity in cytoplasm/membranes has been already presented in our previous paper [5] . In this work, we integrate the proposed nuclei segmentation technique in a fully automated tool for protein activity quantification in cancer tissues in all cell compartments (either membrane, cytoplasm or nuclei). Compared to our previous work [11] , this paper provides a new set of experimental results on which a novel statistical method is applied in order to obtain more extensive comparison of morphology-based and active contours technique. Moreover we extend the examination to all the most widely known typologies of formulations of active contours present in literature, providing for each typology exhaustive discussion of its limitations in the segmentation of IHC tissue images.. The paper is organized as follows. Section 2 explains the morphological procedure. Section 3 discusses active contours based approaches. Section 4 describes the implementation details and Section 5 shows experimental results. Section 6 concludes the paper. In this paper we addressed the problem of nuclear segmentation in cancer tissue images comparing the effectiveness of morphology-based technique and active contours approach. Extensive experimental results show that our fully-automated morphology-based technique is more accurate in IHC tissue images than various formulation of state-of-the-art semi-automated active contours, since it is less sensitive to intensity and color variations within the target region as well as overlapped nuclei that deviate the active contours far from the target. Our future work will include the extension of our morphology-based technique to other types of biomedical images as well as to 3D applications. The procedures were implemented in Java as plugins for ImageJ [42] , a public domain software for image analysis and processing. We inherited the whole class hierarchy of ImageJ 1.38 API and the open-source plugins and macros for color deconvolution, local thresholding and spline-based snakes [18, 43, 40] and we implemented our own functions and classes. The parameters of both the methods were set by running experiments on real IHC images. See our URL [41] and [22] for details.

O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O B I O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Study and development of morphological analysis guidelines for point cloud management: The "decisional cube" Article] Study and development of morphological analysis guidelines for point cloud management: The "decisional cube" Original Citation: Vezzetti E. (2011). Study and development of morphological analysis guidelines for point cloud management: The "decisional cube". In: COMPUTER AIDEDWhen talking about reverse engineering, it is necessary to focus on the management of point clouds. Generally speaking, every 3D scanner device codifies simple and complex geometries providing different point cloud densities as an output. Point cloud density is usually more correlated with the technical specifications of the device employed rather than with the morphology of the object acquired. This situation is due to the frequent use of structured grids by a large quantity of devices. In order to solve this problem, we therefore need to integrate the classical structured grid acquisition with a smart selective one, which is able to identify different point cloud densities in accordance with the morphological complexity of the object regions acquired.Currently, we can reach the destination in many different ways. Each of them is able to provide different performances depending on the object morphology and the performances of 3D scanner devices. Unfortunately, there does not yet exist one universal approach able to be employed in all cases. For this reason, the present paper aims to propose a first analysis of the available methodologies and parameters, in order to provide final users with some guidelines for supporting their decisions according to the specific application they are facing. Moreover, the developed guidelines have been illustrated and validated by a series of case studies of the proposed method. Reverse engineering process starts from the usage of a scanning device that usually provides a "point cloud", representing a particular set of points describing a discrete sample of a physical model surface. The Delaunay's approach is only a triangulation technique which can be used to generate a polyhedral model of a physical one, starting from a point cloud. These are only two of the many steps of the reverse engineering process that moves from the point cloud acquisition to the virtual model reconstruction. This process is characterized by many possible settings and choices which are sometimes difficult to define and may sometimes be the cause of significant movements of the captured sample regions from the real surface. The efficiency of the entire reverse engineering cycle strongly depends on the initial point cloud characteristics, and in particular on the number of points and on their placement in the Cartesian space. For this reason, it is necessary to provide a point data set, that is a "selective sample", strictly correlated with the original scanned surface and accurately representing its morphological characteristics. In order to achieve this selective sampling solution, it is important to remember that many 3D Scanners usually acquire the object surface by using a constant grid, whose dimensions depend on the particular technology (contact, non-contact) employed [1] . Working with a wide number of possible surface morphologies, the use of the constant grid tends to cause two different scenarios: the creation of too scattered point clouds which are not suitable for working on complex zones, while scanning planes, cylinders or cone-like areas with high resolutions performances would be redundant. Considering that the common assumption "the database quality improving goes always together with the sampled point density" is not true, a sample crowded with too many points and obtained from a relatively simple surface means wider uncertainty propagation, due to the measuring tool. It is then necessary to introduce a new sentence saying that "the database quality improving is directly proportional to the propriety of the points of the cloud". Hence, considering that the acquired point density depends on the scanning resolution, whose value is locally chosen based on the surface morphological complexity, the selective sampling approach can be obtained by using an "expert" operator to locally establish which pitch is to be employed. However, in this case, the whole process would be expected to be extremely time-consuming because of possible iterations, and the final result would probably be significantly subjective.. On the other hand, the whole process can be automated by employing a morphological descriptor parameter, that can be associated with the optimal points density (or scanning pitch).. At present, the selection of the most appropriate morphological descriptor is a complex activity because different possible solutions have been provided by the technical literature. Starting from the approach that aggregates the point clouds in cluster [2] and evaluates as a morphological parameter the normal vector of its representative, it is possible to move to a new different methodology which again works with the normal vector but which evaluates it based on the local Voronoi neighbourhoods [3] . As far as the Gaussian Curvature is concerned, this parameter can be obtained by working on a point cloud and dividing it into several elementary regions characterised by a central node: the Gaussian curvature is then represented by the angular excess of the triangles converging in the central node [4] . Working with the tensor, one solution is the evaluation of this morphological parameter by using the directional curvatures and the normal vectors [5] while another makes use of the principal curvatures employing a region growing approach.. All of these methods show different strengths and weaknesses in relation to the specific geometry and application involved in. Hence, for a new user who needs to understand which approach is the one to employ, it is not always easy to understand which direction to take. Unfortunately, most of existing studies focus only on one parameter, and evaluate different operative strategies instead of giving any comparison with the other possible morphological descriptors. Moreover, a large part of the technical literature only deals with Gaussian Curvature [6] .. In view of the above discussion, the present work proposes a structured comparison of the available morphological parameters, analysing different operative extraction methodologies, in order to design some preliminary point cloud management guidelines. The morphological analysis of a surface cannot be carried out without subdividing the point cloud into subsets characterized by the same morphological complexity. As yet we are not able to implement this with a universal parameter and methodology; however, there are many different solutions, strongly correlated with the specific context where they can be applied. It is quite complex for new users to understand which could be the best parameter for their application.. To address this issue, we proposed and verified a series of guidelines to support the identification of the best parameter and method according to each specific application.. Firstly, a variable set, composed by acquired geometry and the acquisition device parameters, has been introduced in order to describe the possible working conditions that users could find with respect to the application they are involved in.. In the next step, all the possible working scenarios have been identified and described by combining all the identified device and geometry variables identified.. By combining the different morphological parameters (curvature tensor, Gaussian curvature, …) and methods (normal cycle, percentiles, …) with the different working scenario identified, it has then been possible to extract the strengths and weaknesses of the parameters and methods in the specific scenario.. Collecting all these data, a complete set of guidelines for supporting the selection of the best morphological parameter and method have been formalised with the support of a graphical visualisation (decisional cube).. During the process, some benchmarks have been used for validating the proposed guidelines, and for comparing the results obtained by applying the analyzed methodologies to benchmark point clouds, with the results obtained by using the corresponding ideal surfaces.. From a general point of view, it is hence possible to say that the tensor appears to be the most universal parameter, because it is able to provide acceptable results in every scenario. Nevertheless, the normal vector and the Gaussian curvature are able to provide better performances than the tensor in some applications.

O O O O B I O O B I I O O O O O O O O B I O O B I I O O O O O O O O O O O O B I O O B I I O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A quantitative and qualitative assessment of aspectual feature modules for evolving software product lines Abstract. Feature-Oriented Programming (FOP) and Aspect-Oriented Programming (AOP) are programming techniques based on composition mechanisms, called refinements and aspects, respectively. These techniques are assumed to be good variability mechanisms for implementing Software Product Lines (SPLs). Aspectual Feature Modules (AFM) is an approach that combines advantages of feature modules and aspects to increase concern modularity. Some guidelines of how to integrate these techniques have been established in some studies, but these studies do not focus the analysis on how effectively AFM can preserve the modularity and stability facilitating SPL evolution. The main purpose of this paper is to investigate whether the simultaneous use aspects and features through the AFM approach facilitates the evolution of SPLs. The quantitative data were collected from two SPLs developed using four different variability mechanisms: (1) feature modules, aspects and aspects refinements of AFM, (2) aspects of aspect-oriented programming (AOP), (3) feature modules of feature-oriented programming (FOP), and (4) conditional compilation (CC) with object-oriented programming. Metrics for change propagation and modularity were calculated and the results support the benefits of the AFM option in a context where the product line has been evolved with addition or modification of crosscutting concerns. However a drawback of this approach is that refactoring components design requires a higher degree of modifications to the SPL structure. Software Product Line (SPL) refers to an emerging engineering technique that aims to provide the systematic reuse of a common core and shared modules by several software products [11] . Optional features define points of variability and their role is to permit the instantiation of different products by enabling or disabling them. SPL products share the same application domain and have points of variability among them. The adoption of SPLs presents as potential benefits the increased product's quality and development productivity, which are achieved through the systematic reuse of features in different products [11] . During the software life cycle, change requests are not only inevitable, but also highly frequent [20] in SPL since they target several different products. These change requests must be accommodated since they include demands from multiple stakeholders [15] .. Variability mechanisms play a crucial role when considering evolving SPLs. They must guarantee the architecture stability and, at the same time, facilitate future changes in the SPL. Therefore, variability mechanisms should not degenerate modularity and should minimize the need of future changes. This can be reached through non-intrusive and self-contained changes that favor insertions and do not require deep modifications into existing components. The inefficacy of variability mechanisms to accommodate changes might lead to several undesirable consequences related to the product line stability, including invasive wide changes, significant ripple effects, artificial dependences between core and optional features, and the lack of independence of the optional code [16, 28] .. In our previous study [14] , we analyzed and compared variability mechanisms to evolve SPLs, using FOP, Design Patterns and Conditional Compilation. The evaluation was also based on the change propagation and modularity metrics. In that work, the result was mostly favorable for FOP. It is important to consider that crosscutting concerns were not considered in the subject system analyzed in that study. This work has as main goal the better understanding how contemporary variability mechanisms contribute to the mentioned SPL evolution practices. To this aim, this paper presents a case study that evaluates comparatively four mechanisms for implementing variability on evolving product lines: conditional compilation (CC), feature-oriented programming (FOP), aspect-oriented programming (AOP), and aspectual feature modules (AFM). This work is an extension of previous work [18] , which was carried out only with one SPL, called WebStore. In this work, we include five releases of another SPL called MobileMedia. MobileMedia is larger than WebStore not only in terms of number of components but also with respect to the variety of change scenarios. Therefore, this new case study helped us to (i) increase the results reliability, (ii) come up with new findings, and (iii) reduce threats to study validity. Moreover, we extended significantly the amount of data, providing quantitative and qualitative analysis of the measured data in greater depth.. The analysis presents novel results that support the benefits of AFM and FOP option when SPL has optional features. In this case the class refinements adhere more to Open-Closed principle [40] . In addition, these mechanisms cope well for features with no shared code and facilitate the instantiation of different products. However, FOP is not suitable for crosscutting concerns and design refactoring of AFM cause a higher number of modifications in the components. The results also demonstrate that CC may not be appropriate in SPL evolution context when modularity of features is important. For example, the inclusion of new features usually increases the tangling and the scattering of others features.. In Section 2, the implementation mechanisms used in the case study are presented. Section 3 describes the study settings, including the target SPL and change scenarios. Section 4 analyzes changes made in the WebStore and MobileMedia SPLs and how they propagate through its releases. Section 5 analyzes the modularity of both SPLs with specific concern-related metrics. Section 6 provides an overall discussion of results. Section 7 presents some limitations of this work. Section 8 presents some related work and points out directions for future work. Finally, Section 9 concludes this paper. From the analysis carried out in the Sections 4 and 5, four interesting situations, discussed below, naturally emerged with respect to which type of modularization mechanism presents superior modularity and stability in specific conditions. AFM and FOP succeed in features with no shared code. This situation was observed with three optional features of WebStore SPL (Bankslip, Paypal, and DisplayWhatIsNew) and six optional feature of MobileMedia SPL(CreateAlbum, DeleteAlbum, CreatePhoto, DeletePhoto, EditPhotoLabel and ViewPhoto). In these cases, the code for these features were independent (no sharing, i.e., there is no common code implementing more than one feature) and then, AFM and FOP solutions presented lower values and superior stability in terms of tangling, specially FOP (CDLOC) and scattering over components (CDC) which explain the previous data. The results of the other metrics (CDO and LOCC) did not follow the same trend of the CDC metric, which can be explained because since the granularity of the methods and lines of code is lower, then the distribution of features occurs in a proportional fashion in all mechanisms. On the other hand, since the granularity of components is higher, the impact on modularity metrics is higher too.. The efficiency of AFM and FOP mechanisms to isolate such feature that are implemented with independent code can be explained by the use of class refinements, which increment the base behavior in a pluggable way. The CC mechanism have no capability to modularize the feature, so the developer needs to implements those features intrusively changing existent components, introducing #ifdefs where features are tangled.. Even in the case of features that are implemented with shared code between each other, AFM and FOP have presented good modularity results. Nonetheless, the gain was not as large as in the case of features with no shared code. The feature Logging is an exception, because even if it has no shared code with other features this feature was highly scattered in FOP solution. This result was expected considering the crosscutting nature of this feature, as shown below.. When crosscutting concerns are present in the solution AFM are recommended over FOP. Another interesting finding that emerged from our analysis is that FOP does not cope well with crosscutting concerns. In this case, AFM provided an adequate solution, because it did not forced the use of aspects to modularize features with no shared code, but still did not force painful scattered refinements to implement a crosscutting feature.. The difficulties of FOP mechanisms to implement crosscutting concerns were observed with the feature Logging, but they could not be observed with the feature Login, even though both are crosscutting features from WebStore SPL. The same situation was not observed with features Favourites and Sorting from the MobileMedia SPL. In the feature where this situation was observed, it was necessary to define several refinements within the FOP solution.. Even if this excessive refinement has not been observed in other FOP implementations of crosscutting features, some core features have benefited from the use of aspect, such as, BasicBackEndDefinitions and BasicFrontEndDefinitions from the WebStore SPL and features AlbumManagement and PhotoManagement from the MobileMedia SPL. Thus, even indirectly, aspects also have advantages in the implementation of non-crosscutting features. Refactoring in design at component level has important impact in AFM and FOP. Component refactoring that impacts the architectural design tends to affect more AFM and FOP than the other mechanisms, because not only base classes but also the refinements are affected. In the case of AFM, this impact can be even worse because aspects can also be affected. This situation was observed in release 4 of the MobileMedia, where some components were splitted and renamed with a specific goal to prepare the SPL for future releases. The change propagation analysis conducted in Section 4 has supported this finding.. CC compilation should be avoided when modular design is an important requirement. Although conditional compilation is still widely used in large scale projects [35] , our data have shown that its use does not produced a stable architecture and should be avoided specially in situations where changes are frequent. This situation was observed in most analyses performed in Sections 4 and 5. On the other hand, this mechanism still could have some advantages that could influence its adoption that were not considered in this work, for example, the easiness to understand the mechanism and the availability of robust tools that support the development [1, 35] . Recent research work has also analyzed stability and reuse of SPLs [12, 15] . Figueiredo et al. [15] performed an empirical study to assess modularity, change propagation, and feature dependency of two evolving SPLs. Their study focused on aspect-oriented programming while we analyzed variability mechanisms available in feature-oriented programming in this study.. Gomes and Monteiro [42] also studied two different AOP languages and the impact of their composition mechanisms to implement design patterns [43] . Their results have shown that Object Teams/Java (OT/J) [42] is highly recommended over AspectJ when the goal is to support the development of complex architectures and provide enhanced evolvability.. Lopez-Herrejon and others [41] evaluated the support for features in five different advanced modularization techniques, namely AspectJ, Hyper/J, Jiazzi, Scala and AHEAD. They have investigated properties such as feature definition and composition capabilities of different language constructions such as aspects, units, refinements and traits. Their conclusion has shown that none of the studied mechanisms completely backup efficient SPL construction, and further studies about these and other mechanisms are required to understand their full potential.. Dantas and his colleagues [12] also conducted an exploratory study to analyze the support of new modularization techniques to implement SPLs. Their study aimed at comparing the advantage and drawbacks of different techniques in terms of stability and reuse, and suggests a minimal advantage of CaesarJ [29] over the other mechanisms. Although Dantas also used a hybrid language, that contains mechanisms to support AOP and FOP, we focused on different goals and on different languages: AHEAD [9] and AspectJ [24] . Other studies also analyzed the variability management of SPLs and the benefits of using FOP constructions to increase software reuse [5, 30] .. Apel and others [5] , who proposed the Aspectual Feature Modules approach [6, 7] , have also used size metrics to quantify the number of components and lines of code in an SPL implementation. Their study, however, did not consider a significant suite of software metrics and did not address SPL evolution and stability. In other work Greenwood et al. [21] used similar suites of metrics to ours to assess the design stability of an evolving application. However, they did not target at assessing the impact of changes in the core and variable features of SPLs.. Another advanced modularization technique, called Delta-oriented programming (DOP) [44] has been gaining attention in SPL community. DOP is a superset of FOP, designed specifically to increase feature expressiveness and flexibility in SPLs development. The major abstractions of DOP are delta modules, which are responsible for encapsulate program deltas (additions, modifications and removals) and complex constraints between them that enable safe and unambiguous combination of features. Although there are differences between DOP and FOP language constructions, we believe that if the same analyses regarding modularity and stability were applied to DOP, the results would not show significant differences when compared to FOP. Because of the nature of delta modules, the results would probably present slightly lower number of components and higher tangling of features. However, we acknowledge that DOP would overcome FOP in terms of enabling type-safe composition, handling optional feature problem, and improving SPL evolution means. These advantages are due to the natural capabilities of delta modules, namely after clauses to express dependencies, combination of features to avoid code duplication and the possibility to add new self-contained delta modules instead of performing intrusive refactoring on existing code.. Other studies focused on challenges in software evolution field [20, 28] . These works have in common the concern about measuring different artifacts through software evolution, which relies directly on the use of reliable software metrics [23] . Furthermore, there is a shared sense about software metrics on engineering perspective: they are far from being mature and are constantly the focus of disagreements [23, 27, 36] .. Several studies have investigated variability management on SPLs [2, 3, 25, 32] . Batory et al. have reported an increased flexibility in changes and significant reduction in program complexity measured by number of methods, lines of code, and number of tokens per class [10] . Simplification in evolving SPL architecture has also been reported in [30, 34] , as consequence of variability management.

O O O O O O B I I O O B I I O B I O O B I O O O O O O O O O O O O O O O O O O O O B I O O B I I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Parallel MR Image Reconstruction Using Augmented Lagrangian Methods Abstract-Magnetic resonance image (MRI) reconstruction using SENSitivity Encoding (SENSE) requires regularization to suppress noise and aliasing effects. Edge-preserving and sparsity-based regularization criteria can improve image quality, but they demand computation-intensive nonlinear optimization. In this paper, we present novel methods for regularized MRI reconstruction from undersampled sensitivity encoded data-SENSE-reconstruction-using the augmented Lagrangian (AL) framework for solving large-scale constrained optimization problems. We first formulate regularized SENSE-reconstruction as an unconstrained optimization task and then convert it to a set of (equivalent) constrained problems using variable splitting. We then attack these constrained versions in an AL framework using an alternating minimization method, leading to algorithms that can be implemented easily. The proposed methods are applicable to a general class of regularizers that includes popular edge-preserving (e.g., total-variation) and sparsity-promoting (e.g., 1 -norm of wavelet coefficients) criteria and combinations thereof. Numerical experiments with synthetic and in vivo human data illustrate that the proposed AL algorithms converge faster than both general-purpose optimization algorithms such as nonlinear conjugate gradient (NCG) and state-of-the-art MFISTA.Index Terms-Augmented Lagrangian, image reconstruction, parallel magnetic resonance imaging (MRI), regularization, sensitivity encoding (SENSE).

O O B I O B I O O O O O O O B I I O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B I I I I B B I I


Cryptanalysis for RC4 and Breaking WEP/WPA-TKIP In recent years, wireless LAN systems are widely used in campuses, offices, homes and so on. It is important to discuss the security aspect of wireless LAN networks in order to protect data confidentiality and integrity. The IEEE Standards Association formulated some security protocols, for example, Wired Equivalent Privacy (WEP) and Wi-Fi Protected Access Temporal Key Integrity Protocol (WPA-TKIP). However, these protocols have vulnerability for secure communication. In 2008, we proposed an efffective key recovery attack against WEP and it is called the TeAM-OK attack. In this paper, first, we present a different interpretation and the relation between other attacks and the TeAM-OK attack against WEP. Second, we present some existing attacks against WPA-TKIP and these attacks are not executable in a realistic environment. Then we propose an attack that is executable in a realistic environment against WPA-TKIP. This attack exploits the vulnerability implementation in the QoS packet processing feature of IEEE 802.11e. The receiver receives a falsification packet constructed as part of attack regardless of the setting of IEEE 802.11e. This vulnerability removes the attacker's condition that access points support IEEE 802.11e. We confirm that almost all wireless LAN implementations have this vulnerability. Therefore, almost all WPA-TKIP implementations cannot protect a system against the falsification attack in a realistic environment. Nowadays wireless LAN systems are widely used in campuses, offices, homes and so on. It is important that we have the secure communication, especially protecting transmission data and authentication. Wired Equivalent Privacy (WEP) [1] and Wi-Fi Protected Access Temporal Key Integrity Protocol (WPA-TKIP) [2] are security protocols that protect data confidentiality and integrity in IEEE 802.11 wireless standard. It is widely known that these protocols have vulnerability for secure communication. The first key recovery attack against WEP has been proposed in 2001 by Fluhrer, Mantin, and Shamir (called the FMS attack [3] ). The FMS attack can know partial information on secret key from the first byte of the keystream when a specific initialization vector (weak IV) is used. We can read it is a chosen plain text attack. The FMS attack has been extended to use more weak IV classes by several researchers [4] - [7] . Tews, Weinmann, and Pyshkin have proposed a key recovery attack against WEP without using any weak IV in 2007 (called the PTW attack [8] ). Their attack is a known plain text attack. However, if the PTW attack recover a 104-bit secret key only by observing encryption packets, it takes Manuscript received July 20, 2011. † The authors are with the Graduate School of Engineering, Kobe University, Kobe-shi, 657-8501 Japan.. a) E-mail: mmorii@kobe-u.ac. [9] ), with collecting a small quantity of any IP packets. Since their attack is passive and much effective for the key recovery, it has been made known that WEP has serious vulnerability. WPA-TKIP was introduced in order to prevent the vulnerability of WEP. Several researchers have deliberated about the security aspects of WPA-TKIP. However, thus far, no realistic attack against WPA-TKIP, except for the dictionary attack, had been known. In 2008, Beck and Tews proposed a falsification attack (called the Beck-Tews attack [10] ) on WPA-TKIP. Their attack succeeds only in the case of networks that support IEEE 802.11e features. Thereafter, Ohigashi and Morii proposed a falsification attack (called the Ohigashi-Morii attack [11] ) that is based on the man-in-the-middle attack against WPA-TKIP. This attack expands its targets to other products that do not support IEEE 802.11e. However, it is necessary to interrupt communication between an access point (AP) and a client for executing the man-in-the-middle attack. Hence, it is not easy to execute the Ohigashi-Morii attack in a realistic environment.. In this paper we present a different interpretation and relation between other attacks and the TeAM-OK attack against WEP. Furthermore we propose an attack (called the QoS forgery attack [12] ) that is executable in a realistic environment and which is not based on the man-in-themiddle attack. This attack exploits the vulnerability implementation in the QoS packet processing feature of IEEE 802.11e. The receiver receives a falsification packet constructed as part of attack regardless of the setting of IEEE 802.11e. This vulnerability removes the condition that APs support IEEE 802.11e. We confirm that almost all wireless LAN implementations have this vulnerability. Therefore, almost all WPA-TKIP implementations cannot protect a system against the falsification attack in a realistic environment. This paper is organized as follows. RC4 which is the cipher used in WEP/WPA-TKIP is discussed in Sect. 2. In Sect. 3, the TeAM-OK attack and the relation between other attacks against WEP are presented. Furthermore Sect. 4 gives the QoS forgery attack for WPA-TKIP. Finally, we conclude this paper in Sect. 5. In this paper we discussed the vulnerability of WEP and WPA-TKIP. WEP is widely used in a wireless LAN security even now. However very serious vulnerability has been discovered in WEP as we show. Consequently we strongly recommend the disuse of WEP. Otherwise, we should update the secret key whenever it is communicated for 8,000 packets whatever we want to use WEP. In WPA-TKIP, we proposed the QoS forgery attack, which is a falsification attack based on the vulnerability of QoS packet processing. In this attack, a condition of the Beck-Tews attack that APs support IEEE 802.11e is negated. In addition, we discovered that almost all clients support IEEE 802.11e with a chipset and cannot disable the IEEE 802.11e function. In other words, if an attacker uses the proposed attacks, almost all wireless LAN implementations can be attacked. Therefore, WPA-TKIP is not secure in a realistic environment.

O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O B O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O B B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O


Computation of Floquet Multipliers Using an Iterative Method for Variational Equations This paper proposes a new method to numerically obtain Floquet multipliers which characterize stability of periodic orbits of ordinary differential equations. For sufficiently smooth periodic orbits, we can compute Floquet multipliers using some standard numerical methods with enough accuracy. However, it has been reported that these methods may produce incorrect results under some conditions. In this work, we propose a new iterative method to compute Floquet multipliers using eigenvectors of matrix solutions of the variational equations. Numerical examples show effectiveness of the proposed method. This paper studies numerical methods for stability analysis of periodic orbits of ordinary differential equations given by dx dt = f (t, x) with f (t + T, x) = f (t, x),. where T denotes the period, x ∈ R N , and f : R × R N → R N is of class C 2 . This is a non-autonomous system and its solution with an initial condition x(t 0 ) = x 0 can be written in the form. A periodic solution with the period T satisfies. Time variation of a small perturbation u(t) of this periodic solution x(t) is governed by. u(t) with u(t 0 ) = u 0 .. The solution u(t) of (4) can be expressed as. with the matrix solution X 0 (τ) ∈ R N×N (τ = t − t 0 ) of the variational equations given by X 0 (τ) with X 0 (0) = I ,. where I denotes the identity matrix. Eigenvalues λ j ( j = 1, 2, · · · , N) of the matrix solution X 0 (T ) of (6) determine the stability of the periodic orbit. These eigenvalues are called Floquet multipliers.. There are various numerical methods to solve periodic orbits of (1) such as the shooting method and the collocation method [3] , [8] , and some standard bifurcation analysis tools such as AUTO [4] are easily available. On the other hand, it has been reported that these commonly used numerical methods can incorrectly catch stability of periodic orbits under some conditions, even if the periodic orbits were accurately computed [5] , [9] , [10] .. For example, Fig. 1 shows computed results of Floquet multipliers λ 1 and λ 2 of the nonlinear Mathieu equations [7] dx dt = y ,. using one of conventional methods "Method 1" which is summarized in Sect. 2. We can find erroneous results in the smaller Floquet multiplier λ 2 for the parameter p > 20 in Fig. 1 . It should be noted that the ratio |λ 1 /λ 2 | drastically increases with p for p < 20. Lust indicated this type of trouble to compute Floquet multipliers and developed an improved algorithm [9] . His method divides a periodic orbit into some sub-orbits, and computes the expanding or contracting rates of perturbations on each sub-orbit using the periodic Schur decomposition [2] of X 0 (T ). Finally, we can get the Floquet multipliers by multiplying those rates. In Lust's method [9] and some conventional methods, the variational Eqs. (6) are solved as initial value problems in which it is hard to control numerical errors. In the previous work [12] , we showed that such a numerical method for (6) may cause some troubles to obtain accurate Floquet multipliers. Also, when the ratio of eigenvalues of the matrix X 0 (T ) is large as shown in Fig. 1 , some elements of X 0 (T ) can be considerably large, and round-off errors may affect numerical computation of Floquet multipliers.. The basic ideas of this work are to construct an iterative method for the variational equations (6) , and to use eigenvectors of X 0 (T ) as the initial condition of (4) or (6) . The iterative method enables us to control accuracy of computed results of the variational equations. The initial condition X 0 (0) of (6) can be set to any non-singular matrix. Suitable choice of the initial condition X 0 (0) reduces errors of numerical computation of eigenvalues of X 0 (T ), namely, Floquet multipliers.. Section 2 summarizes a standard method of computation of periodic orbits, namely, the multiple shooting method. Section 3 proposes a new iterative method to compute Floquet multipliers using eigenvectors of X 0 (T ). The proposed method can also be applied to autonomous systems with minor modifications. Section 3.3 describes the computational method for autonomous systems. Section 4 shows some results of numerical examples. This paper has considered a numerical method for stability analysis of periodic orbits of ordinary differential equations. Stability of periodic orbits is determined by the Floquet multipliers, namely, eigenvalues of matrix solutions of the corresponding variational equations. We have proposed a new iterative method to solve the variational equations and compute the Floquet multipliers. The keys are to utilize a property of solutions of the variational equations and to use the eigenvectors corresponding to the Floquet multipliers as initial condition for the variational equations. Numerical examples show that the proposed method works very well, in particular, when the ratios of the Floquet multipliers are large.

O O B I O O O O O O O O O O O O O O O O B I O O B O B I O B I I O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B O O B I O B I I B O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O


Social media analytics for competitive advantage Big Data Analytics is getting a great deal of attention in the business and government communities. If it lives up to its name, visual analytics will be a prime path by which visualization competes successfully in this arena. This paper discusses some fundamental work we have done in this area through integration of interactive visualization and automated analysis methods and the applications that have resulted. As we know, big data analytics has become more than a term, it is now a movement. Whether or not "big data" is a buzzword, there is reason to believe that interest in the broader issues surrounding not just scalably large data but even more so data that are complex and can be associated with problems that require complex reasoning will not abate soon and could even grow stronger. There are many reasons for this. More companies (and government agencies, too) are building comprehensive and long-term databases. But there is a growing realization that traditional database techniques, though they are in principle scalable and useful for many things, cannot tell you basic things about what the database contains and what the important relations and trends are [Oli] . (For example, we have worked with a bank that has a very large, comprehensive transactional database yet struggles to use all the value it contains.) In addition, the advent of social media and online sources show that useful data can come from anywhere, inside or outside the company. Due to the availability of all these data, there is a growing push to increase data-driven decision-making, but this is hampered, as inferred above, by not knowing what actionable information the data contains. Finally, business studies indicate that timely, effective use of data-derived knowledge is a competitive advantage and that not using this knowledge effectively is a competitive dis- † Email to: ribarsky@uncc.edu ‡ Email to: xiaoyu.wang@uncc.edu § Email to: wenwen.dou@uncc.edu advantage [MCB11, LL11, Thi12] . Companies who do not marshal their data resources will be losers in the long term. In fact, those that find new uses for their or other data will be the biggest winners.. Another reason that big data analytics will have staying power is that a robust infrastructure is being built. Based on surveys in the U.S. alone, McKinsey estimates that there will be a deficit of nearly 200K professionals with deep analytics skills by 2018 and the need to retrain 1.4M managers so that they understand the value of data and know the right questions to ask [MCB11] . Gartner estimates that 1.9M big data jobs will be created in the U.S. by 2015 [Thi12] . It will be hard to fill even a fraction of this need at the current rate of production for data analytics professionals.. The premise of this paper is that visualization and especially visual analytics is ideally positioned to take advantage of this opportunity. By its nature, visual analytics supports exploration, discovery, and complex reasoning about data and data-driven problems. Statistical, data mining, machine learning, signal processing, and other deep analytics methods are tightly integrated with interactive visualizations. Visual analytics aims to put the human in the loop at just the right point to discover key insights, develop deep understanding, make decisions, and take effective action. On both the visualization side and the analytics side, visual analytics is positioned to effectively manage and support understanding of scalably large data, and this promise is being made concrete as new techniques are developed [WDM * 12]. Because of the central role of visual analytics, there is also the opportunity to imbue the massive influx of new data analyt-ics professionals with knowledge of visual analytics through courses and training. This should definitely be a key part of the visual analytics academic agenda; it will result in a whole generation of analysts, engineers, and managers who appreciate and know how to use these tools.. In this paper, we will address how competitive advantage can be derived from the analysis of unstructured data, especially social media data (though the techniques used can be applied to a broader range of unstructured data). We will use mostly examples from our own work, though there is a range of other work. We have presented the work described here plus additional analyses to a set of business partners from retail and banking. This has generated considerable interest and feedback. The ability to analyze competitor strategies is considered important. There is a desire to know about the demographics of the people generating messages for selected events and also how retweeting spreads a message. (We are working on both these things.) There is a desire to do targeted marketing based on real-time streaming tweet analysis, and we have developed a capability in this area. More generally, companies see the opportunity to analyze the response to marketing and advertising campaigns as they unfold and also investigate what affects the public view of their brand image (which can be affected by external circumstances, as we have seen). Banks want to do emerging risk analysis using both internal and external sources. We also expect that the set of methods described in this paper will be applied in the future to internal company data.

B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Study of irreducible balanced pairs for substitutive languages Let L be a language. A balanced pair (u, v) consists of two words u and v in L which have the same number of occurences of each letter. It is irreducible if the pairs of strict prefixes of u and v of the same length do not form balanced pairs.In this article, we are interested in computing the set of irreducible balanced pairs on several cases of languages. We make connections with the balanced pairs algorithm and discrete geometrical constructions related to substitutive languages. We characterize substitutive languages which have infinitely many irreducible balanced pairs of a given form.1991 Mathematics Subject Classification. 68R15. This article deals with substitutions, that is, free morphisms on the monoid A * generated by a finite set A with the concatenation. A substitution σ naturally defines a symbolic dynamical system (X σ , S), which may be splitted in topological factors. In the following, we only consider primitive substitutions; in this case, (X σ , S) has a unique topological factor.. When σ is a d-letter Pisot type substitution, it is possible to construct a geometrical representation of (X σ , S) known as the Rauzy fractal of the substitution. The Rauzy fractal T is a compact subset of R d−1 which is equal to the adherence of its inner points, and which has positive Lebesgue measure [36] . Furthermore, (X σ , S) has a minimal translation on the torus R d / T as a topological factor [13] .. When the substitution σ is unimodular, several combinatorial conditions known as coincidence conditions provide additional knowledge on (X σ , S). Under the strong coincidence property, (X σ , S) is measure-theoretically isomorphic to the exchange of d domains defined almost everywhere on the associated Rauzy fractal [5] . When the super-coincidence property holds (see [23] ), the Rauzy fractal generates a periodic tiling of the space, that is, there exists a lattice Λ such that (X σ , S) has a toral representation as a fundamental domain for R d−1 / Λ, see [5] . Among unimodular Pisot type substitutions, the super-coincidence property is also equivalent to (X σ , S) having a discrete spectrum, or being metrically isomorphic to a translation on a compact abelian group (see [22, 30, 31] ). Note that the super coincidence condition implies the strong coincidence condition. At the moment, we do not know any Pisot type unimodular substitution which does not satisfy either the super-coincidence or the strong coincidence property.. We are interested in the connection between the study of coincidence conditions and combinatorial properties of L σ , the language generated by the substitution σ. For a language L and u, v ∈ L, we say that the pair (u, v) is balanced if: for any letter l ∈ A, |u| l = |v| l .. Balanced pairs (l, l), where l ∈ A, are called trivial pairs. The notion of balanced pairs has been introduced by Queffélec in [31] , following an idea of Host. Note that, by definition, (u, v) cannot be a balanced pair if |u| = |v|. Hence we define the length of the balanced pair (u, v) as the quantity |u| = |v|.. Remark 0.1. Trivial pairs are introduced in [35] as coincidences. We prefer to avoid this term, since it has an other meaning in the framework of substitutive dynamical systems.. When (u, v) is a balanced pair with |u| 2, we say that (u, v) is an irreducible balanced pair if the pairs of strict prefixes of u and v are not balanced. For any balanced pair (u, v), we call reduction of (u, v) the set of irreducible balanced pairs (u (i) , v (i) ) i∈[ [1,m] ] such that u = u (1) . . . u (m) and v = v (1) . . . v (m) . Obviously, (u, v) is irreducible if and only if m = 1.. Remark 0.2. We consider that trivial pairs are irreducible balanced pairs as well. However, we choose the convention that (ε, ε) is not an irreducible balanced pair.. Any substitution σ defines an action on irreducible balanced pairs. This action may be represented by the balanced pairs algorithm, detailed in Section 3. Queffélec noticed in [31] that, if the balanced pairs algorithm associated with a substitutive language terminates, and if the dominant eigenvalue of the incidence matrix of the algorithm is less than the dominant eigenvalue of the incidence matrix of σ, then (X σ , S) has a (purely) discrete spectrum. More recently, it is proven in the forthcoming study [10] that, for any Pisot type substitution, the super-coincidence holds if and only if the strong coincidence holds and the balanced pairs algorithm terminates. Hence the study of irreducible balanced pairs associated with substitutive languages, and the action of σ on these pairs, is closely related to the determination of combinatorial and ergodic properties for (X σ , S); see also [7, 8, 27, 35] .. This article is structured in the following form. In Section 1, we introduce the definitions and notation. In Section 2, we study the set of irreducible balanced pairs for Sturmian languages, and for languages associated with Arnoux-Rauzy words. We prove that the set of irreducible balanced pairs for the Fibonacci case may be explicitly computed (Corollary 2.3). Although we are not able to compute the whole set of irreducible balanced pairs for Arnoux-Rauzy words, we compute a particular class of irreducible balanced pairs with Proposition 2.5.. In Section 3, we introduce the balanced pair algorithm. We study with Proposition 3.4 the action of the balanced pair algorithm on the Fibonacci example. Finally, we establish a connection with the discrete geometrical representation of Rauzy fractals in Section 4. Notably, we characterize with Theorem 4.9 substitutive languages that have infinitely many irreducible balanced pairs. We end our study by a non-exhaustive list of open questions in Section 5.

O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O B I O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O