Multi-party off-the-record messaging Most cryptographic algorithms provide a means for secret and authentic communication. However, under many circumstances, the ability to repudiate messages or deny a conversation is no less important than secrecy and authenticity. For whistleblowers, informants, political dissidents and journalists -to name a few -it is most important to have means for deniable conversation, where electronic communication must mimic face-to-face private meetings. Off-theRecord Messaging, proposed in 2004 by Borisov, Goldberg and Brewer, and its subsequent improvements, simulate private two-party meetings. Despite some attempts, the multiparty scenario remains unresolved.In this paper, we first identify the properties of multiparty private meetings. We illustrate the differences not only between the physical and electronic medium but also between two-and multi-party scenarios, which have important implications for the design of private chatrooms. We then propose a solution to multi-party off-the-record instant messaging that satisfies the above properties. Our solution is also composable with extensions that provide other properties, such as anonymity. Our proposed framework for multi-party Off-the-Record communication does not depend on a central server; instead we developed a model that mimics a typical private meeting where each user authenticates the other participants for himself. We identified three main goals for mpOTR: confiden-tiality, consensus and repudiation. We achieve confidentiality via standard cryptographic measures. Consensus is based on unforgeable signatures. Repudiation is based on a user's ability to disassociate from the signing key pair. The crucial step in our solution is the distribution of chatroom-specific signature keys, which become the authentication mechanism during the chat. The deniability is a consequence of the forward secrecy and deniability of the key agreement protocol that is used to establish authentic, confidential, deniable channels between pairs of parties.. We are currently implementing and improving the efficiency of mpOTR. Since the setup phase is crucial for consensus and deniability we opted for a relatively slow solution that requires pairwise interaction. It is natural to look for a more efficient protocol for authentic, deniable, confidential exchange of signing keys. We also believe that a complete formalization and verification of our model will improve our understanding and will help us select suitable primitives and analyze mpOTR's interaction with anonymity-providing protocols and networks. The Internet presents a novel means of communication -instant messaging (IM), where users can engage in active conversations across great distances. However, IM lacks certain fundamental security properties that a physical private conversation can provide. Impersonation, eavesdropping and information copying are all trivial attacks in IM.. Online communication systems commonly provide three properties: confidentiality, authentication and non-repudiation. Confidentiality and authentication are expected traits of face-to-face conversations, but non-repudiation clashes with the expectations for private communication. Non-repudiation denotes a receiver's ability to prove to a third party, possibly a judge, that the sender has authored a message. Although desirable under many circumstances, nonrepudiation is the very property journalists, dissidents or informants wish to avoid.. Borisov, Goldberg and Brewer [6] argued that instant messaging should mimic casual conversations. Participants of a casual talk can deny their statements in front of outsiders, and can sometimes deny having taken part in the talk at all. The authors presented a mechanism called Off-the-Record Messaging (OTR) that allows two-party private conversations using typical IM protocols. OTR aims to provide confidentiality, authentication, repudiation and forward secrecy, while being relatively simple to employ.. Despite its good design, OTR has limitations, the most important of which is that it can serve only two users. Hence it is not suitable for online multi-party conversations, commonly enjoyed by casual users via Internet Relay Chat (IRC), by open-source software developers, and by businesses that cannot afford confidential meetings across vast distances [4, §2.3] . It is non-trivial to extend OTR to allow for multiparty conversations, as OTR uses cryptographic primitives designed for two parties. For example, OTR uses message authentication codes (MACs) to provide authenticity. While for two parties MACs can provide a deniable authentication mechanism, MACs do not provide origin authentication when used by more than two parties.. Bian, Seker and Topaloglu [4] proposed a method for extending OTR for group conversation. The crux of their solution is to designate one user as the "virtual server". While this may be feasible under certain circumstances, it deviates from the original OTR goal, which is to mimic private conversations. In private group conversations there is no virtual server responsible for smooth meetings. Moreover, the server becomes an enticing target for malicious parties. Finally, the server has to be assumed honest, as a dishonest server could compromise both the confidentiality and the integrity of all messages sent during a chat session.. In this work, we present a multi-party off-the-record protocol (mpOTR), which provides confidentiality, authenticity and deniability for conversations among an arbitrary number of participants. Using our protocol, an ad hoc group of individuals can communicate interactively without the need for a central authority. We identify the important traits of multi-party authentication for users, for messages and for chatrooms that share users; that is, we take into account that two or more users may concurrently share more than one chatroom with different peers. When considering privacy properties, we allow malicious insiders and identify their goals. These multi-party chatroom properties present new challenges that were not addressed in previous work.. An OTR transcript reveals that a user at some point communicated with someone. Our mpOTR protocol carries deniability further by allowing the user to deny everything except, by virtue of being part of the system, that they were willing at some point to engage in a conversation. In fact, it is unclear how users can deny the latter at all because by using the Internet, they already indicate their intent and ability to engage with others. In this sense, mpOTR is closer than OTR to simulating deniability in private conversations in the physical world: anyone could take or have taken part in a private conversation, but that person can plausibly deny ever having done so. While not the first to address security in instant messaging, Borisov, Goldberg and Brewer [6] popularized its privacy aspects, partly due to their now-popular open-source plugin. Subsequently, more research was devoted to IM; in fact, the original proposal was found to contain errors [10] , which were repaired in a subsequent version of OTR.. On a high level there are two approaches to secure IM. Clients can establish their connections via a centralized server and rely on the server for security and authentication [16] . Alternatively, participants can use shared knowledge to authenticate each other [1] . OTR, which aims to simulate casual conversations, is closer to the second solution.. While there is a wide literature on IM (see [15, §2.1] for an extensive list), little research has focused on the multi-party privacy aspects of instant messaging. To our knowledge the only published work with the explicit goal of achieving group off-the-record conversations is the aforementioned result by Bian, Seker and Topaloglu [4] . It has traits of Mannan and Van Oorschot's work on two-party IM [16] in the sense that a designated user acts as a server. In some cases, e.g. the Navy [9] , it may be easy to establish a superuser whom everyone trusts, but if the goal is a casual off-the-record chat or users are unwilling to trust each other, agreeing on a server user becomes problematic. We adopt the scenario where all users are equal.

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 B 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 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 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 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 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 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 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B 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


Justification

logics

and

hybrid

logics

Hybrid

logics

internalize

their

own

semantics.

Members

of

the

newer

family

of

justification

logics

internalize

their

own

proof

methodology.

It

is

an

appealing

goal

to

combine

these

two

ideas

into

a

single

system,

and

in

this

paper

we

make

a

start.

We

present

a

hybrid/justification

version

of

the

modal

logic

T.

We

give

a

semantics,

a

proof

theory,

and

prove

a

completeness

theorem.

In

addition,

we

prove

a

Realization

Theorem,

something

that

plays

a

central

role

for

justification

logics

generally.

Since

justification

logics

are

newer

and

less

well-known

than

hybrid

logics,

we

sketch

their

background,

and

give

pointers

to

their

range

of

applicability.

We

conclude

with

suggestions

for

future

research.

Indeed,

the

main

goal

of

this

paper

is

to

encourage

others

to

continue

the

investigation

begun

here.

Hybrid

logics

are

modal

logics

that

internalize

aspects

of

possible

world

semantics.

They

contain

in

their

language

special

propositional

letters,

nominals,

that

designate

possible

worlds,

rather

like

the

designation

of

instants

of

time

in

some

kinds

of

temporal

logics.

The

presence

of

nominals

can

be

exploited

to

give

smooth,

uniform

treatments

of

completeness,

interpolation,

and

other

results.

They

are

covered

quite

thoroughly

in

and

also

in

Between

hybrid

logics

and

justification

logics,

the

hybrid

variety

has

been

with

us

longer

and

is

the

better

known,

so

I

say

no

more

about

them

for

now..

More

recently

a

quite

different

family

of

logics,

justification

logics,

has

been

developed.

Rather

than

semantics,

these

internalize

aspects

of

proofs.

Justification

logics

began

with

a

logic

called

LP,

in

The

name

stood

for

"logic

of

proofs."

LP

formed

part

of

a

program

to

provide

an

arithmetic

semantics

for

intuitionistic

propositional

logic.

As

is

well-known,

intuitionistic

logic

embeds

in

a

result

due

to

Gödel

The

difficulty

is,

the

necessity

operator

of

cannot

be

thought

of

as

formal

provability

in

arithmetic,

because

of

Gödel's

second

incompleteness

theorem.

But

necessity

can

be

thought

of

as

an

explicit

provability

predicate,

an

idea

due

to

Gödel

but

left

unpublished,

and

independently

discovered

by

Artemov.

This

was

the

motivation

for

the

creation

of

LP,

in

which

the

modal

operator

has

been

replaced

with

a

family

of

explicit

proof

terms.

Artemov

showed

that

embeds

in

LP,

that

is,

for

each

theorem

of

there

is

a

way

of

replacing

necessity

operators

with

explicit

proof

terms

to

produce

a

theorem

of

LP.

This

is

called

a

Realization

Theorem.

Indeed,

these

proof

terms

internalize

actual

LP

proofs,

in

a

certain

sense

that

will

be

discussed

further

below.

In

turn,

LP

itself

embeds

in

formal

arithmetic,

Artemov's

Arithmetic

Completeness

Theorem.

All

this

together

provides

an

arithmetic

semantics

for

intuitionistic

logic..

Since

then

it

has

been

understood

that

proofs

are

one

kind

of

justification,

and

there

can

be

others.

Further,

is

not

the

only

modal

logic

to

which

these

techniques

can

be

applied.

By

now

there

is

a

rich

and

growing

family

of

justification

logics,

corresponding

to

K,

T,

and

so

on,

multimodal/multiagent

versions

of

these,

versions

with

quantifiers

over

justifications,

with

quantifiers

over

objects,

and

so

on.

Work

continues.

The

ideas

have

been

particularly

fruitful

when

applied

to

epistemic

logics,

since

they

allow

for

the

manipulation

of

explicit

reasons

for

knowledge

or

belief.

Justification

logics

even

provide

appropriate

machinery

for

the

formal

treatment

of

various

well-known

philosophical

problems.

Artemov's

recent

paper,

provides

a

broad

summary

of

justification

logics

and

their

applications,

and

is

highly

recommended.

In

addition,

a

complete,

annotated

bibliography

of

work

in

justification

logics

is

maintained

by

Roman

Kuznets,

and

can

be

accessed

at

Given

all

this,

it

is

a

natural

question

whether

there

might

be

justification

logic

versions

of

hybrid

logics.

Such

things

would

be

of

interest

because

they

would,

in

a

sense,

internalize

both

semantics

and

proofs.

In

this

paper

we

make

a

bare

beginning

on

the

investigation

of

the

question.

We

provide

a

justification

logic

version

of

the

simplest

of

the

hybrid

logics,

basic

hybrid

logic,

but

corresponding

to

T

rather

than

K,

because

this

simplfies

certain

parts

of

the

work.

In

the

logic

that

is

presented

below

there

are

justification

terms

and

there

are

nominals,

but

in

the

semantics

not

every

possible

world

may

be

named

by

a

nominal.

I

will

formulate

this

logic,

a

semantics

for

it,

and

provide

proofs

of

completeness

and

a

realization

theorem.

Much

more

interesting

would

be

justification

logic

versions

of

hybrid

logics

that

are

complete

with

respect

to

named

models,

models

in

which

every

possible

world

is

named

by

a

nominal.

I

do

not

know

how

to

formulate

such

a

logic.

What

I

hope

to

do

here

is

stimulate

others

to

work

on

the

problem.

A

hybrid/justification

logic

analog

of

the

modal

logic

T

has

been

examined.

Other

modal

logics

can

be

treated

similarly,

though

how

far

this

can

be

pushed

remains

to

be

seen.

To

weaken

things

to

K

will

require

some

adjustment,

since

the

analog

of

X

X

plays

an

important

role

in

the

proof

of

Proposition

but

this

does

not

seem

to

be

a

major

issue.

A

move

to

analogs

of

and

seems

equally

plausible,

and

probably

will

not

be

difficult..

Unfortunately,

the

hybrid

machinery

we

have

been

using

is

that

of

basic

hybrid

logic-it

is

not

assumed

that

all

possible

worlds

are

named

by

nominals.

It

is

the

move

to

named

models

that

gives

hybrid

logics

much

of

their

interest

and

power.

The

machinery

for

working

with

named

models,

proof

theoretically,

involves

the

addition

of

rules

to

basic

hybrid

logic.

Analogs

of

these

rules

can

be

added

to

our

hybrid/justification

logics.

The

difficulty

is

in

coming

up

with

appropriate

and

intuitively

plausible

machinery

to

allow

us

to

prove

an

Internalization

Theorem,

as

we

did

in

Theorem

Almost

certainly,

once

Internalization

is

achieved

other

things

will

fall

into

place

quickly.

We

hope

others

will

take

up

this

investigation..

Even

though

we

have

presented

a

logic

that

explicitly

combines

aspects

of

both

its

model

theory

and

its

proof

theory

there

is,

as

yet,

no

interesting

interaction

between

these.

Expressive

machinery

is

present,

but

nothing

much

is

done

with

it.

One

can

think

of

justification

logics

as

being

logics

of

knowledge

in

which

explicit

reasons

for

knowledge

can

be

discussed.

One

might

think

that

combining

such

machinery

with

the

ability

to

'talk

about'

states

should

allow

something

significant

to

be

said.

The

language

of

hybrid

-JT

needs

to

be

explored.

What

does

it

allow

us

to

say?

This,

too,

is

something

we

encourage

others

to

think

about.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 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 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 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


Broadcast Cooperation Strategies for Two Colocated Users This work considers the problem of communication between a remote single transmitter and a destined user, with helping colocated users, over an independent block Rayleigh-fading channel. The colocation nature of the users allows cooperation, which increases the overall achievable rate, from transmitter to destination. The transmitter is ignorant of the fading coefficients, while receivers have access to perfect channel state information (CSI). We propose, for this setting, a multilayer broadcast transmission approach. The broadcast approach enables enhanced cooperation between the colocated users. That is due to the nature of broadcasting, where the better the channel quality, the more layers that can reliably be decoded. The cooperation between the users is performed over additive white Gaussian noise (AWGN) channels, with a relaying power constraint, and unlimited bandwidth. Three commonly used cooperation techniques are studied: amplify-and-forward (AF), compress-and-forward (CF), and decode-and-forward (DF). These techniques are extended by using the broadcast approach for the case of relaxed decoding delay constraint. For this case, a separate processing of the layers, which includes multisession cooperation is shown to be beneficial. Further, closed-form expressions for infinitely many AF sessions and recursive expressions for the more complex CF are given. Numerical results for the various cooperation strategies demonstrate how the multisession cooperation outperforms conventional relaying techniques.Index Terms-Ad hoc networks, amplify-and-forward (AF), code layering, compress-and-forward (CF), decode-and-forward (DF), multisession cooperation, single-user broadcasting. We have considered several cooperation strategies for transmission to colocated users. The original data is intended to one of the users, and in the network setting examined, a colocated user receives another copy of the original signal and cooperates with the destined user to improve decoding at the destination. As the transmitter has no access to CSI, the broadcast approach is used along with the various cooperation strategies. We have examined the naive AF, and its improved version, namely, separate preprocessing AF. In the latter, the users decode individually as many layers as they can, subtract the common information and forward a scaled version of the residual signal. In a multisession AF approach, with a total cooperation power limitation , each user tries to decode as many layers as possible using the inputs of the previous cooperation session. Then the users remove common information and scale the residual signal for the next session of cooperation. We give an explicit formulation for a large number of sessions, with a fractional power allocation for every session, and an overall power constraint for the whole cooperation duration. This approach may be used in applications where a rapidly changing channel does not allow CSI acquisition at the transmitter, and the decoding processing delay constraints are relatively relaxed, as multisession imposes additional delays on the processing per packet. We have considered the average throughput as subject for optimization, however, when considering average delay as the figure of merit, other broadcasting strategies can be optimal [46] , and the multisession coopera-tion may possibly introduce a nonnegligible additional delay overhead.. Another cooperation approach considered is CF. In a naive approach, the colocated user performs WZ compression, and forwards it to the destination user. For the naive CF we derive explicit expressions for the equivalent fading gains, which allows computation of maximal achievable rates. An improved version of this approach for multisession cooperation, is presented, where for each session, the WZ compression uses all information collected in previous sessions as side information for decoding. This brings notions such as successive refinable WZ coding. Implicit expressions are derived for the equivalent fading gain in a multisession WZ cooperation.. We consider also DF cooperation with a single session only, since DF is unsuitable for multisession cooperation, as after the first session there is nothing the destination can send back to the other user to improve its decoding.. Numerical results show that narrowband separate processing CF outperforms all other considered approaches (for which average rates were computed). The narrowband naive CF already closely approximates the joint decoding broadcasting upper bound. The multisession AF with a suboptimal broadcasting power allocation also approximates the broadcasting upper bound in a wide range of SNRs and ratios. In light of the multisession gains in the AF technique, and the good performance of the CF, we expect the multisession CF to present very good results, even for small SNRs. The DF numerical results show that the DF broadcasting upper bound is achieved by wideband cooperation, and only marginally degrades for a narrowband cooperation link.. Even though broadcasting optimal power allocation was obtained only for naive AF and CF, we conjecture that the maximal average rate of separate CF broadcasting is superior to that of separate AF broadcasting, and similarly with multisession rates. Our conjecture is based on the numerical results in the SNR ranges where both AF and CF approximate the broadcasting upper bound. The continuous broadcasting achievable rates obtained are especially useful in understanding where multisession may be beneficial when the optimal naive cooperation is far from the broadcasting upper bound.. Possible future directions include assuming multiple ( ) colocated user cooperation strategies. In addition, colocation suggests that some type of correlation is imposed on fading channel realizations between users. Obtaining the achievable throughput with the cooperation strategies studied above, for correlated fading channels, is another possible extension of this work. We have considered two relaying techniques-AF and CF, for a multisession cooperation, when the transmitter employs a broadcast transmission approach. Our cooperation strategies are designed to enhance the overall throughput of a destination user, while a colocated user receives another copy of the original transmitted signal over an independent fading channel. Essentially, the results here are also valid for the case when a single source sends common information for two users, and they cooperate following the described schemes as to maximize their individual throughput. One may consider the following communication schemes, among others. 1) Information enhancement: In this case two users are receiving common information such as digital TV broadcasting, and the cooperation allows for image quality enhancement. Progressive transmission of images is also a useful application here [44] , [45] , where refinement of image quality is achieved through decoding of more coded layers. In this transmission scheme, no acknowledge (ACK) signal to the transmitter is required. 2) Reliable throughput enhancement (RTE): Common information streaming of data packets. In this case, it is required that both users receive exactly the same information reliably. Hence, after the end of the last cooperation session, an ACK signal is returned to the transmitter indicating what the highest common decoded layer was. The information enhancement setting for transmitting common information for two users essentially achieves the same average rates as those derived for a single user above.. Our results can be adapted to the reliable throughput enhancement setting in the following way. As the maximal decoded layer depends on the actual fading gain, the reliable broadcasting rate is controlled by the smaller equivalent fading after cooperation. This is specified for all cooperation schemes.. • Naive AF: The equivalent fading gain is replaced by. Then the corresponding cdf allows computation of optimal power allocation and average rates for RTE setting, as in (16) . • Separate Preprocessing AF: Tthe equivalent fading gain is replaced by the first equation at the bottom of the page. Then the corresponding cdf allows computation of optimal power allocation and average rates for RTE setting, as in (27) .. • Multisession AF with broadband cooperation: The equivalent fading gain as in (31), is replaced by , which is defined in (32 (47), is replaced by , which is defined in (49). These direct permutations of the equivalent fading gains allow analysis of the RTE setting. This turns the extension of our results for the RTE scheme to be straightforward.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B I B I B I B I B I 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 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 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 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


Revisiting a limit on efficient quantum computation In this paper, we offer an exposition of a theorem originally due to Adleman, Demarrais and Huang that shows that the quantum complexity class BQP (Bounded-error Quantum Polynomial time) is contained in the classical counting class PP (Probabilistic Polynomial time). Our proof follows the one given by Fortnow and Rogers that relates quantum computing to counting complexity classes by way of GapP functions. The contribution of this paper is an exposition of an important result that assumes a minimal background in computational complexity theory and no knowledge of quantum mechanics. In the race to build a quantum computer, the question of whether or not such a machine will be more useful than a classical computer is often overlooked. This is not surprising, since the physicists and engineers have plenty of obstacles to overcome in their attempts to build such a machine without worrying about practical applications! In addition, the construction of the first scalable quantum computer will be such a significant scientific achievement that we'll probably be able to overlook the fact that we don't have any interesting programs to run on it.. The question, however, remains a fundamental issue for computer scientists to address. One approach to answering the question affirmatively is to search for new quantum algorithms that outperform the best known classical algorithms. Peter Shor's impressive algorithm for integer factorization [17] and Lov Grover's clever search algorithm [13] seemed to foreshadow a barrage of fast quantum algorithms for prac-tical problems. Unfortunately, such algorithms remain elusive. The lack of progress in the area is quite disheartening.. Complexity theory provides an alternative approach to answering this question by comparing the types of problems solvable by classical models of computation to the types of problems solvable by quantum analogues of these models. In this approach, it is useful to seperate problems into classes based on models of computation that can successfully solve them with varying resources. If we can prove that the quantum classes are larger, then we would know for sure that the quantum models offer an advantage over classical models, and therefore more practical quantum algorithms that outperform classical algorithms are likely to exist. Although it has not been proven that quantum computers are more powerful than their classical counterparts in any practical sense, this approach has provided us with a wealth of weaker evidence that this is likely true.. We can also use the complexity-theoretic approach to answer a related, but slightly different question: what are the limitations on models of computation that are allowed to use quantum effects? By showing that quantum classes are contained in classical classes that are well-understood, we can gain some insight into limitations of these quantum models. This study might lead us to understand the types of problems at which quantum computers will excel.. David Deutsch [7] pioneered this line of research by showing that the universal quantum Turing Machine could be simulated by a classical Turing Machine, thereby showing that the class of problems solvable by a quantum computer is no larger than the class of problems solvable by a classical computer. The question of efficiency was addressed by Bernstein and Vazirani [6] , where it was shown that the class of problems solvable on a quantum computer in polynomialtime is no bigger than the class of problems solvable in polynomial-space on a classical computer. Adleman, Demarris and Huang [3] improved this result by showing that this class is contained in the more restrictive class PP.. In this paper, we describe a relatively straight-forward proof of this last result, namely that the quantum complexity class BQP, which stands for Bounded-error Quantum Polynomial time, is contained in the classical complexity class PP, which stands for Probabilistic Polynomial time. Since BQP is widely regarded as the class of problems that are efficiently solvable on a quantum computer this result shows limitations on efficient quantum computation.. The original proof of Adleman, et al. gives an explicit construction of the PP machine that accepts the language. Our proof is a complete account of the one discovered by Fortnow and Rogers [11] which relates the complexity of quantum computation to the complexity of functions that count the number of accepting computations of a nondeterministic Turing machine. The construction is implicit, and uses the fact that PP can be characterized in terms of GapP functions. Fortnow and Rogers actually prove a stronger result, namely that BQP is contained in AWPP. This is useful because it gives us more information about how BQP relates to PP. In order to preserve clarity, however, we do not discuss AWPP.. Our exposition has the advantage that it is designed to be understood by those who have a modest background in theoretical computer science and no knowledge of quantum mechanics. We attempt to highlight some of the intriguing, basic aspects of quantum computers throughout. In effect, we hope that this paper gives an elementary, but non-trivial, introduction to an exciting area of research. The proof technique used here has been generalized (see, for example, Fenner, Green, Homer, and Pruim [9] ), as it nicely characterizes the interference aspect of quantum computation. Unfortunately, it doesn't characterize the unitary evolution of a quantum computer, which is likely the biggest restriction on the quantum model (see §2.1). It seems that one might be able to put BQP in a smaller complexity class by using the fact that a quantum computer is required to evolve in a unitary manner.. The result described here implies that it is unlikely that a quantum computer will be able to solve problems like MA-JORITYSAT unless BQP = PP. It seems very unlikely that this equality holds as PP is a large class of problems, many of which are probably very difficult. There is more compelling evidence that BQP = PP, however. In their original paper, Fortnow and Rogers go a step further and show that, in fact, BQP is low for PP [11] . This implies that showing BQP = PP would have some consequences that are thought to be very unlikely, namely the collapse of the counting hierarchy (see reference [1] for a definition).. A more pressing question is whether or not a quantum computer will be able to solve NP-Complete problems in polynomial time. Unfortunately, it seems as though this proof technique will not be able to resolve this question. There has, however, been evidence presented to suggest that this important class of problems will not be efficiently solvable on a quantum computer [5] .

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Software Architecture Reconstruction: A Process-Oriented Taxonomy Abstract-To maintain and understand large applications, it is important to know their architecture. The first problem is that unlike classes and packages, architecture is not explicitly represented in the code. The second problem is that successful applications evolve over time, so their architecture inevitably drifts. Reconstructing the architecture and checking whether it is still valid is therefore an important aid. While there is a plethora of approaches and techniques supporting architecture reconstruction, there is no comprehensive software architecture reconstruction state of the art and it is often difficult to compare the approaches. This paper presents a state of the art in software architecture reconstruction approaches.Index Terms-Software architecture reconstruction. S OFTWARE architecture acts as a shared mental model of a system expressed at a high-level of abstraction [66] . By leaving details aside, this model plays a key role as a bridge between requirements and implementation [48] . It allows you to reason architecturally about a software application during the various steps of the software life cycle. According to Garlan [48] , software architecture plays an important role in at least six aspects of software development: understanding, reuse, construction, evolution, analysis, and management.. Software architecture is thus important for software development, but architectures do not have an explicit representation in most general purpose programming languages. Another problem is that successful software applications are doomed to continually evolve and grow [93] ; and as a software application evolves and grows, so does its architecture. The conceptual architecture often becomes inaccurate with respect to the implemented architecture; this results in architectural erosion [105] , drift [124] , mismatch [49] , or chasm [134] .. Several approaches and techniques have been proposed in the literature to support software architecture reconstruction (SAR). Mendonça and Kramer [106] presented a first raw and simple classification of SAR environments based on a few typical scenarios (filtering and clustering, compliance checking, analyzers generators, program understanding, and architecture recognition). O'Brien et al. surveyed SAR practice needs and approaches [119] . Still, there is no comprehensive state of the art of SAR approaches and it is often difficult to compare the approaches.. This paper presents a state of the art of software architecture reconstruction approaches. While it is a review on the research in SAR, we organized it from the perspective of a reverse engineer who wants to reconstruct the architecture of an existing application and would like to know which approaches to consider. We structure the field around the following axes: the goals, the process, the inputs, the techniques, and the outputs of SAR approaches. In each axis, we classify both the most influential approaches and the original ones, with the goal to create a structured reference or map of the research field. It is hard to classify research approaches in a complex field where the subject matter is as fuzzy as software architecture. Still this survey has provided an organization of the significant fundamental contributions made within software architecture reconstruction. To structure the paper, we followed the general process of SAR: What are the stakeholders' goals, how does the general reconstruction proceed, what are the available sources of information, based on this, which techniques can we apply, and, finally, what kind of knowledge does the process provide. We believe that software architecture is still an important topic since it is a key abstraction for the understanding of large industrial applications and their evolutions. An analysis framework may steer an SAR framework so that it provides required architectural views to compute architectural quality analyzes. Such analysis frameworks assist stakeholders in their decision-making processes. In ArchView [126] , SAR and evolution analysis activities are interleaved. QADSAR is a tool that offers several analyzes linked to threads, waiting points, and performance properties [150] , [151] . Moreover, flexible SAR environments such as Dali [74] , [78] , Armin [79] , [120] , or Gupro [33] support architectural analysis methods like SAAM [76] or ATAM [77] by exporting the extracted architectures to dedicated tools.. Some approaches perform extra analysis on the extracted architecture to qualify it or refine it further. Reverse engineers use modularity quality metrics either to iteratively assess current results and steer the process, or to get cues about reuse and possible system improvement [84] , [139] .. A few SAR approaches propose other analyzes: ArchView [126] provides structural and evolutionary views of a software application. Eixelsberger et al. [36] in ARES and Stoermer et al. in QADSAR [150] , [151] reconstruct software architectures to highlight properties like safety, concurrency, portability, or other high-level statistics [69] .. Finally, some approaches highlight architectural patterns or orthogonal artifacts: ARM [57] , Revealer [127] , [128] , or Alborz [139] . Here are some general points that appeared to us out of this survey. A lot of approaches visualize software entities but few work from diverse information or even take advantage of having different kinds of information. Several times, this paper stresses the need to provide a large variety of views at different levels of abstraction. We advocate that viewpoints should be defined consistently. SAR must integrate in an environment that provides reverse engineers with views at different levels of abstraction and means to navigate horizontally and vertically. To fulfill this requirement, we state that a mechanism is required to express viewpoints consistently whatever the level of abstraction of the views they respectively describe. In this perspective, the metamodel-based SAR outlined by [39] is promising.. Lots of works focus on extracting design information such as design patterns but stop building on this knowledge up to the architectural level. Similarly, few works bring together features and architectural information.. Because it is complex to extract architectural components from source code, these are often simply mapped to packages or files. Even if this practice is understandable, we think that it limits and overloads the term component.. We see that few works really take into account architectural styles. This may be the result of having different communities working on architectural description languages and maintenance.. SAR is complex and time-consuming. The iterative aspects of SAR imposed themselves as a key point to ensure a successful reconstruction. Now, to reach a high-level of maturity in leading such an activity, we advocate that SAR has to support coevolution and conformance mechanisms. Indeed, both horizontal and vertical conformance help the reverse engineer to bring all the recovered views face to face. This confrontation allows reverse engineers to refine views iteratively, to identify commonalities and variabilities among views (especially if they represent product lines architecture), to lead impact analysis, or still to update views when the system evolves.. Since successful systems are doomed to continually evolve and grow, SAR approaches should support coevolution mechanisms to keep all recovered views synchronized with the source code. The logic-based approach of Intensive proved to be efficient in checking horizontal and vertical conformance and allowing coevolution [109] , [179] .

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 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 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 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 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 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


Geometric structure analysis of document images: a knowledge-based approach This paper presents a knowledge-based method for sophisticated geometric structure analysis of technical journal pages. The proposed knowledge base encodes geometric characteristics that are not only common in technical journals but also publication-specific in the form of rules. The method takes the hybrid of top-down and bottom-up techniques and consists of two phases: region segmentation and identification. Generally, the result of the segmentation process does not have a one-to-one matching with composite layout components. Therefore, the proposed method identifies non-text objects, such as images, drawings, and tables, as well as text objects, by splitting or grouping segmented regions into composite layout components. Experimental results with 372 images scanned from the IEEE Transactions on Pattern Analysis and Machine Intelligence show that the proposed method has performed geometric structure analysis successfully on more than 99 percent of the test images. Previous works for geometric structure analysis are classified into three categories: top-down [3] , [15] , [16] , bottom-up [4] , [10] , [11] , [17] , [18] , [19] , [20] , and hybrid techniques [21] , [22] , [23] , [24] , [25] . Especially, the recent paper by Jain and Yu [4] contains a brief chronological survey of previous works on geometric layout analysis.. Most previous works use explicit knowledge on geometric characteristics of document images even though the amount and representation schemes might be different [25] . The knowledge used for bottom-up processing is different from that used for a top-down one. Normally, the knowledge for top-down technique is much more dependent on a document. The knowledge used in previous works is organized into three-levels based on a generalizationspecialization hierarchy: generic knowledge, class-specific knowledge, and publication-specific knowledge [26] . As summarized in Table 1 , this section presents a brief discussion about results and problems of the previous works based on knowledge base.. Generally, top-down techniques simultaneously perform geometric and logical structure analysis using publicationspecific knowledge. For example, the methods in [10] , [11] , and [26] use a publication-specific page grammar to describe all legal page formats allowed for a given publication and to segment the document and simultaneously label some layout components with logical classes. On the other hand, Dengel et al. [27] , [28] define a hierarchical document model, called a geometric tree, which contains knowledge about 200 different business letters. Higashino et al. [29] express the model on geometric layout using a form definition language (FDL).. For bottom-up approaches, Nagy et al. [26] segment the document into the X-Y tree, which is a nested decomposition of rectangles, and combine regions at leaf nodes using knowledge about generic layout objects. A definition language expresses the knowledge by applying predicate logic to a list of arguments. Fisher et al. [30] present a rulebased system for automatically segmenting document images into text and nontext regions. The 14 rules represent geometric characteristics about connected components such as aspect ratio, height, black pixel density, the perimeter to width ratio, and the perimeter-squared to area ratio.. Niyogi and Srihari [31] have developed a knowledgebased system for decomposition and structural analysis that uses a rule-based model. This system segments the digitized image of a newspaper page using the bottom-up technique. The knowledge rules which comprise the knowledge base define the general characteristics expected of the usual components of a newspaper image and the usual relationships between such components in the image. An inference engine is also rule-based and contains control and strategy rules with hierarchical structure. However, this system concentrates on the basic level of geometric layout [32] divide a document image into small pixel windows and classify the type of the segmented region using the knowledge base expressed as a rule of general and type-specific knowledge.. Meanwhile, Esposito et al. [25] present the hybridization of the top-down and bottom-up approaches: A document image is segmented in a top-down manner and basic regions are grouped bottom-up to form layout components, such as text, image, drawing, and ruler. Specifically, for region classification, generic knowledge of typesetting conventions is exploited.. Albeit previous works have defined and exploited various levels of knowledge about geometric properties of a document, most of them do not support sophisticated geometric structure analysis. Some methods [10] , [11] , [26] , [27] , [28] , [29] , [30] only take text regions into consideration and the others [25] , [31] , [32] concentrate on the basic level of geometric layout analysis for text and nontext regions, such as images and drawings.. Generally, the better the correspondence between regions in the output of geometric analysis and layout objects in the document, the easier the task of transforming a paper document into its electronic version. Furthermore, to accurately extract the logical structure components of text regions, text lines must be further classified into a title, first or last lines of a paragraph, or a list item. Therefore, a method that can accurately extract text lines, as well as equations, from a text region is required.

B I I O O O O B I 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 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 I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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


Quantitative analysis of simulated erosion for different soils ABSTRACTTroy, NYLevee overtopping can lead to failure and cause catastrophic damage, as was the case during Hurricane Katrina. We present a computer simulation of erosion to study the development of the rills and gullies that form along an earthen embankment during overtopping. We have coupled 3D Smoothed Particle Hydrodynamics with an erodibility model to produce our simulation. Through comparison between simulations and between simulation and analogous laboratory experiments, we provide quantitative and qualitative results, evaluating the accuracy of our simulation. During Hurricane Katrina in 2006, the overtopping, seepage, and eventual failure of earthen levees protecting New Orleans, LA, caused vast devastation to the city and its surrounding areas. A better understanding of the evolution of rills and gullies, which form during levee overtopping, is necessary to enable the design of structures that can more effectively withstand storm conditions. Erosion Literature During storm conditions, a levee overtops the moment the level of water has reached and exceeds the crest (highest part of the levee) and flows over the downslope side. Hanson et al. [7] presented a four-stage erosion process that occurs during overtopping of an embankment. Wang et al. [12, 13] presented two dimensional mathematical models for the erosion of an embankment. Briaud Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ACM GIS '10 , November 2-5, 2010. San Jose, CA, USA (c) 2010 ACM ISBN 978-1-4503-0428-3/10/11 ...$10.00. et al. [1] expanded the traditional definition of a soil's "erodibility" to account for water velocity that varies throughout the flow field, instead defining erodibility as a function of shear stress over the surface of the soil. This model is applicable to small-scale erosion simulations, and is the erosion model implemented in our simulation. One important metric for the effectiveness of a levee is the average time to breach during storm conditions. Fread, from the National Weather Service, defined time to breach as the duration of time between the initial formation of a rill and the time at which the rill has reached the upslope of the levee, forming a clear channel along with breaching water runs [4] . We base our quantitative analysis of computer simulations and laboratory experiments on this accepted observational definition.. Computer Modeling of Hydraulic Erosion Fluid flow and hydraulic erosion simulations have been developed for computer graphics, though the primary goal has been to create physically plausible terrains mimicking features formed through erosion processes. Fluid simulation techniques can be divided into two categories. In the first category are gridbased Eulerian techniques, as used by Foster and Metaxas with the Marker-And-Cell method to solve 3-D Navier-Stokes equations [3] . An alternative to Eulerian methods, the high resolution particle-based Lagrangian methods based on Smooth Particle Hydrodynamics (SPH) [5, 9] , is becoming more popular. Kristof et al. [8] was the first to present an erosion simulation using SPH. The soil, water, and soil-water boundary were all represented by particles, the soil and water particles have mass and velocity while the boundary particles are designed solely for the two phases to interact. This method is most similar to our simulation method. To represent terrain, we use a Segmented Height Field (SHF) [10] .. Evaluation and Validation One of the most important goals of our work is to evaluate the accuracy of our computer simulations through comparisons with experimental data, collected from laboratory trials. To our knowledge, validation of the accuracy of the detailed computer simulations of erosion, especially those for computer graphics use, has received little attention. One notable exception is the SODA project [11] , in which a patch of soil was pelted with rain both in a laboratory and in a cellular automata computer simulation, and the results are visually compared. To improve the accuracy of results, we will extend our simulation engine to include sediment transport and deposition and soil permeability. We will also implement a more physically-accurate model of crumbling overhangs and slumping. To enhance simulation efficiency, we will further optimize our implementation and improve the parallelization strategy to use a super computer or GPUs, allowing us to work with larger datasets at higher resolutions. Furthermore, we will conduct additional physical experiments and acquire higher-resolution digital scans to facilitate precise geometric comparison.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 Unified View on Clustering Binary Data Clustering is the problem of identifying the distribution of patterns and intrinsic correlations in large data sets by partitioning the data points into similarity classes. This paper studies the problem of clustering binary data. Binary data have been occupying a special place in the domain of data analysis. A unified view of binary data clustering is presented by examining the connections among various clustering criteria. Experimental studies are conducted to empirically verify the relationships. The problem of clustering data arises in many disciplines and has a wide range of applications. Intuitively, clustering is the problem of partitioning a finite set of points in a multi-dimensional space into classes (called clusters) so that (i) the points belonging to the same class are similar and (ii) the points belonging to different classes are dissimilar (Hartigan, 1975; Kaufman & Rousseeuw, 1990) . In this paper, we focus our attention on binary datasets. Binary data have been occupying a special place in the domain of data analysis. Typical applications for binary data clustering include market basket data clustering and document clustering. For market basket data, each data transaction can be represented as a binary vector where each element indicates whether or not any of the corresponding item/product was purchased (Agrawal & Srikant, 1994) . For document clustering, each document can be represented as a binary vector where each element indicates whether a given word/term was present or not (Li et al., 2004a; Li, 2005) .. Generally clustering problems are determined by four basic components: a) the (physical) representation of the given data set; b) the distance/dissimilarity measures between data points; c) the criterion/objective function which the clustering solutions should aim to optimize; and, d) the optimization procedure. For a given data clustering problem, the four components are tightly coupled. Various methods/criteria have been proposed over the years from various perspectives and with various focuses (Barbara et al., 2002; Gibson et al., 1998; Huang, 1998; Ganti et al., 1999; Guha et al., 2000; Gyllenberg et al., 1997; Li et al., 2004b) . However, few attempts have been made to establish the connections between them while highlighting their differences. In this paper, we aim to provide a unified view of binary data clustering by examining the connections among various clustering criteria. In particular, we show the relationships among the entropy criterion, dissimilarity coefficients, mixture models, matrix decomposition, and minimum description length. Table 1 . Binary data have been occupying a special place in the domain of data analysis. In this paper, we aim to provide a unified view of binary data clustering by examining the connections among various clustering criteria. In particular, we show the relationships among the entropy criterion, dissimilarity coefficients, mixture models, the matrix decomposition, and minimum description length.. The unified view provides an elegant base to compare and understand various clustering methods. In addition, the connections can provide many insights and motivations for designing binary clustering algorithms. For example, the equivalence between the information theoretical criterion and the maximum likelihood criterion suggests a way to assess the number of clusters when using the entropy criterion: to look at various techniques used in model-based approaches such as likelihood ratio tests, penalty methods, Bayesian methods, cross-validation (Biernacki & Govaert, 1997; Smyth, 1997) . Moreover, the connections motivate us to explore the integration of various clustering methods. In this section, we present several experiments to show that the relationships described in the paper is also observed in practice. The relationships among entropy, mixture models as well as minimum description length have been experimentally studied and evaluated in the machine learning literature (Mitchell, 1997; Celeux & Soromenho, 1996; Cover & Thomas, 1991) . Here we conduct experiments to compare the following criteria: entropy, dissimilarity coefficient, and the matrix perspective. To minimize the entropy criterion defined in Equation 1, we use the optimization procedure introduced in (Li et al.,2004b) . For minimizing the dissimilarity coefficient criterion defined in Equation 4, we use the popular K-means algorithm (Jain & Dubes, 1988) . For the matrix perspective, we use the clustering method described in .

O B I O B B I 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 B B I B I O O O O O O O O O O O O O B I O B I B O O O O O O O O B 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 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 B I O O O O O O O O O O O O O O O B I B O O O O B 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 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 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 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 B I O B I B 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 I 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 B 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 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 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 B O O O O


DNA splicing: computing by observing Abstract Motivated by several techniques for observing molecular processes in real-time we introduce a computing device that stresses the role of the observer in biological computations and that is based on the observed behavior of a splicing system. The basic idea is to introduce a marked DNA strand into a test tube with other DNA strands and restriction enzymes. Under the action of these enzymes the DNA starts to splice. An external observer monitors and registers the evolution of the marked DNA strand. The input marked DNA strand is then accepted if its observed evolution follows a certain expected pattern. We prove that using simple observers (finite automata), applied on finite splicing systems (finite set of rules and finite set of axioms), the class of recursively enumerable languages can be recognized.

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 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 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 B O O O O O O O O O O O O O O O O O O O


Context-aware middleware for mobile multimedia applications We present a context-aware middleware for mobile multimedia applications. The middleware offers functionality for service discovery, asynchronous messaging, publish/subscribe event management, storing and management of context information, building the user interface, and handling the local and network resources. It supports a wide range of context information including location, time, and user's preferences. Further, it allows controlling the connectivity of the device; the middleware is capable of switching traffic from one network connection to another. It can locate the services and software components as well. It facilitates development of multimedia applications by handling such functions as capture and rendering, storing, retrieving and adapting of media content to various mobile devices. The middleware offers facilities for media alerts, which are multimedia messages that are generated when predefined context is recognized. With these capabilities, it enables development of complex context-aware multimedia applications for mobile devices. Personal digital assistants (PDAs) and mobile phones nowadays offer a versatile set of facilities, which enables developing various new applications. Context-aware mobile multimedia is an application area that has been attracting the attention of researchers in recent years. This application area offers a big business potential, as the users of mobile devices want to access multimedia content and context-aware services from their devices.. However, mobile devices have limited bandwidth, small screen size and low computational power. Hence, the multimedia content has to be adapted to fit the constraints of the device.. Mobility and context-awareness introduce further challenges. The applications have to adapt themselves to a changing environment, i.e. the recognized context. An intermediate software layer, which performs the tasks related to mobility and context-awareness and provides multimedia support could solve the problems raised. It helps to avoid the increasing complexity of the applications and lets the developers concentrate on the application-specific tasks.. Several middleware solutions have been developed in the area of distributed computing, such as CORBA [1] and J2EE [2] . However, these technologies are intended to be used in networks with fixed infrastructure and require the devices to have a lot of available resources. Hence, they are not suitable for mobile computing. Furthermore, they have no support for multimedia.. The Service-oriented Context-Aware Middleware (SCAM) project [3] provides an architecture for context-aware mobile services. It concentrates on context-related facilities and has few services to support mobility of the applications. It does not offer functionality for multimedia applications, though. The CAMPUS project [4] presents a middleware for context-aware applications. Its novelty is in the context model, which is based on the fuzzy sets theory. However, the middleware is suitable only for fixed devices, because it has no support for mobile and multimedia applications.. The CORTEX architecture [5] is a middleware for contextaware distributed applications. It has functionality for messaging, service discovery and resource management. The system is not capable of controlling the network resources and provides no adaptable UI for applications. Further, it does not support multimedia applications. The DISCWorld system [6] concentrates on mobile robot systems. Its middleware includes several components providing functionality for communication. The aim of the DISCWorld middleware is to solve the network challenges of connecting a set of robots and controlling PDAs into one network, hence the middleware focuses on messaging facilities only. Furthermore, it has no support for multimedia applications.. The middleware service for distributed multimedia applications, offered by Lohse et al. [7] provides functionality for rendering audio and video in distributed environment. It also supports adaptation of multimedia content for restricted resources of mobile devices. However, the middleware solution does not offer functionality for context-aware applications.. The QoSDREAM framework [8] is focused on supporting the development of context-aware multimedia applications. It has event messaging component, data storage and distributed multimedia service. The framework supports streaming media, but the context is presented by location information only. The framework does not support mobility of the applications (e.g. the applications cannot migrate from one host to another). Besides, it assumes that the network connection is fixed. The mobile devices are used as location sensors only.. Lau and Lum [9] developed a decision engine for multimedia content adaptation. They offer a real-time processing system for rich multimedia elements, which allows accessing the content using PDAs. Lemlouma and Layaida [10] offer a framework for adaptation of content delivery to mobile devices. However, these solutions do not offer functionality for the development of mobile context-aware applications, even though the projects are focused on the delivery of multimedia to mobile devices with constrained resources.. From this short survey, it can be noticed that there is a gap between context-aware solutions for mobile applications and solutions for distributed multimedia applications. The first ones handle contextual information and support mobile applications by hiding heterogeneity of the hardware. They offer solutions that are light enough to be executed in a mobile environment where the resources are limited. The solutions for distributed multimedia applications assume that mobile devices have restricted resources and, hence, offer functionality for multimedia content adaptation. Besides, they support mobile applications by providing network transparency, making them able to operate in a distributed environment. These middleware solutions are not able to perform context-related tasks, however. The only framework that supports context-aware, distributed and multimedia applications is QoSDREAM. However, it has a number of constraints, which were described above.. Furthermore, neither context-aware middleware solutions for mobile applications nor solutions for distributed multimedia applications are capable of controlling network resources at the middleware level.. In this work, we present a middleware solution for development of context-aware and mobile multimedia applications. The middleware is able to perform most of the tasks dealing with context-awareness and mobility, and it focuses on multimedia support. It locates the services and components, provides asynchronous messaging between the applications, stores and processes the context data collected from various sources, manages local and network resources, etc. The support for multimedia includes functionality for capturing, rendering, processing, adaptation and storing the media content. The middleware introduces a new type of events, called media alerts, and facilitates building media messaging applications. Media alerts are multimedia messages that are generated when a predefined context is recognized. This paper is organized as follows. Section two specifies our context model and context-aware middleware. We describe the functionality and architecture of the CAPNET middleware in the third section. The implementation and the prototype are presented in the fourth section. The fifth section contains a discussion and summary of the work.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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


A Model Based Approach to Modular Multi-Objective Robot Control Abstract Two broad classes of robot controllers are the modular, and the model based approaches. The modular approaches include the Reactive or Behavior Based designs. They do not rely on mathematical system models, but are easy to design, modify and extend. In the model based approaches, a model is used to design a single controller with verifiable system properties. The resulting designs are however often hard to extend, without jeopardizing the previously proven properties. This paper describes an attempt to narrow the gap between the flexibility of the modular approaches, and the predictability of the model based approaches, by proposing a modular design that does the combination, or arbitration, of the different modules in a model based way. By taking the (model based) time derivatives of scalar, Lyapunov-like, objective functions into account, the arbitration module can keep track of the time evolution of the objectives. This enables it to handle objective tradeoffs in a predictable way by finding controls that preserve an important objective that is currently met, while striving to satisfy another, less important one that is not yet achieved. To illustrate the approach a UAV control problem from the literature is solved, resulting in comparable, or better, performance. The field of robotic control can loosely be divided into model based and modular control approaches. In model based control, a mathematical model of the dynamic or kinematic behavior of the robot is used to synthesize a single controller and analyze and prove attractive system properties such as safety or convergence to a goal location. Model-based approaches to robot control with multiple objectives include [13, 14, 21, 24] . These approaches perform well, but are tailor made to the specific problems they address, and adding additional objectives to be met is often difficult or impossible without spoiling the structures being used in the proofs.. The modular control methods include [3, 4, 7-11, 15, 17-19, 22, 23, 25] , and a nice overview can be found in [1] . These methods are perhaps more often referred to as Behavior Based, or Reactive, but throughout this paper we will call them modular in order to emphasize this key property. In modular approaches, each controller is designed with a specific control objective in mind, more or less independently from the rest of the controllers. The outputs of the controllers are then merged in some clever fashion in an arbitration module that outputs the overall control action, as illustrated in Fig. 1 .. This merging, or arbitration, can be either a selection of the most important controller at each time instant, or a fusion of a set of control signals into a single output. Examples of selection schemes are [4, 5, 10] , while fusion methods include [7, 8, 15, 17, 19] . The modular methods have received a lot of attention due to the fact that they are flexible, robust and easy to use. However, it is well known [23] , that it often gets hard to predict the overall system behavior when more modules are added.. In this paper, which is an extension of our work in [12] , we attempt to narrow the gap between the modular approaches and the model based methods. The proposed controller will thus retain the modular structure of Fig. 1 , but do the arbitration in a more predictable and model based fashion, inspired by Control Lyapunov Functions (CLFs) [2] . This is done by letting each individual Control Module Output, see Fig. 1 , include not only its preferred control signal, but also a scalar function measuring to what extent the objective of that module is met. The arbitration then keeps track of, and works towards satisfying, these objectives in a predictable way. This is done by making sure that the (model based) time derivatives of the scalar functions satisfy certain inequalities, reflecting the user priorities regarding the corresponding objectives.. In order to formalize the user priorities, we first note that all modular approaches address a more or less implicit multi objective control problem. We then formally state this problem, and include a scalar function and a user defined order of importance for each control objective. As indicated above, the scalar functions and user priorities are then used in the model based arbitration.. We illustrate the approach by solving an example problem taken from [21] , where a solution to a multi objective UAV surveillance problem is presented. Applying the proposed approach to the problem we get controllers that are modular and flexible, but also somewhat less conservative than previous solutions, due to the fact that the bounds are handled explicitly.. As noted above, this work is an extension of [12] . In this paper, the theoretical material has been thoroughly revised, including definitions, lemmas and proposition, Fig. 1 A typical modular control architecture, as described in [1] . The format of the Control Module Output depends on the type of Arbitration being used, as explained in Section 2 below. The proposed approach aims at making this arbitration in a more model based fashion and the simulation section is completely new, with a complex UAV problem, taken from [21] , replacing the ground robot obstacle avoidance problem investigated in [12] .. The organization of this paper is as follows. In Section 2 we review the structure of some existing modular control architectures. Section 3 then formalizes the Multi Objective Control Problem and Section 4 presents the proposed modular model based controller design. Finally, the approach is illustrated by a UAV example in Section 5 and conclusions are drawn in Section 6. Architectures affording modular design are attractive due to their flexibility and reusability, but can sometimes result in somewhat unpredictable system behavior. Model based designs on the other hand are less flexible, but might produce more predictable performance.. In this paper we have proposed an arbitration scheme that brings some of the predictability from the model based approaches into a modular architecture. This is done by keeping track of the time derivatives of a set of scalar functions representing the control objectives, in a way that is inspired by Control Lyapunov Functions (CLFs).. We were able to formally verify two properties of the proposed arbitration scheme. First, that objective violations only occur when they are necessary due to contradicting objectives. Second, that the system does indeed satisfy all objectives when no objective tradeoffs have to be made. These results are quite strong, considering the fact that the modular structure gives us no influence over what objectives and corresponding control modules are included in the framework, and insolvable problems are straightforward to design.. Finally, the approach was illustrated with a UAV surveillance example taken from the literature. Applying the framework we got a controller that performed equally, or better, than a model based approach tailored to the problem. [8] might therefore be appropriate, even though the latter is not, as we will see, model based.

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 O O O O O O O O O O O O O O O O O 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 B 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 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 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 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 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 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 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 B 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