Table Of ContentLincoln Souza Rocha
!
CAEH : Um M´etodo para Verifica¸ca˜o de
Modelos do Tratamento de Exce¸c˜ao
Sens´ıvel ao Contexto em Sistemas Ub´ıquos
Fortaleza – Ceara´ – Brasil
2013
Lincoln Souza Rocha
!
CAEH : Um M´etodo para Verifica¸ca˜o de
Modelos do Tratamento de Exce¸c˜ao
Sens´ıvel ao Contexto em Sistemas Ub´ıquos
Tese submetida a coordena¸c˜ao do programa
de Mestrado e Doutorado em Ciˆencia da
Computa¸c˜ao,daUniversidadeFederaldoCe-
ara´comorequisitoparcialparaaobten¸c˜aodo
grau de Doutor em Ciˆencia da Computa¸ca˜o.
Orientadora: Rossana M. C. Andrade, PhD.
Universidade Federal do Ceara´
Centro de Cieˆncias
Departamento de Computac¸a˜o
Fortaleza – Ceara´ – Brasil
2013
Dados Internacionais de Catalogação na Publicação
Universidade Federal do Ceará
Biblioteca de Ciências e Tecnologia
R574c Rocha, Lincoln Souza.
CAEHV: um método para verificação de modelos do tratamento de exceção sensível ao contexto
em sistemas ubíquos / Lincoln Souza Rocha. – 2013.
100f. : il. , enc. ; 30 cm.
Tese (doutorado) – Universidade Federal do Ceará, Centro de Ciências, Departamento de
Computação, Programa de Pós-Graduação em Ciência da Computação, Fortaleza, 2013.
Área de Concentração: Ciência da Computação.
Orientação: Profa. PhD. Rossana Maria de Castro Andrade.
1. Software de sistema. 2. Análise de sistema. 3. Software de aplicação. I. Título.
CDD 005
i
Tese de Doutorado sob o t´ıtulo“CAEH!: Um M´etodo para Verifica¸c˜ao de Modelos
do Tratamento de Exce¸c˜ao Sens´ıvel ao Contexto em Sistemas Ub´ıquos” defendida por
Lincoln Souza Rocha no programa de Mestrado e Doutorado em Ciˆencia da Computa¸ca˜o,
da Universidade Federal do Cear´a como requisito parcial para a obten¸ca˜o do grau de
Doutor em Ciˆencia da Computa¸ca˜o e aprovada em 08 de mar¸co de 2013, em Fortaleza,
Cear´a, pela banca examinadora constitu´ıda pelos doutores:
Rossana Maria de Castro Andrade, PhD (Orientadora)
Universidade Federal do Ceara´
Alessandro Fabricio Garcia, DSc
Pontif´ıcia Universidade Cat´olica do Rio de Janeiro
Cla´udia Maria Lima Werner, DSc
Universidade Federal do Rio de Janeiro
Francisco Heron de Carvalho Junior, DSc
Universidade Federal do Ceara´
Jos´e Antonio Fernandes de Macˆedo, DSc
Universidade Federal do Ceara´
ii
Aos meus pais Luiz e Tereza e
a minha amada esposa Pollyana.
iii
Agradecimentos
Agradecer ´e dif´ıcil, pois sempre corremos o risco de esquecermo-nos de algu´em. Por
esse motivo, vou come¸car agradecendo a todos os que me ajudaram durante estes anos de
doutorado, deste modo, aqueles que na˜o forem citados diretamente, sintam-se lembrados.
Em primeiro lugar quero agradecer a Deus por me conceder o dom da inquietude
que me desafia e conduz pelos caminhos desconhecidos do conhecimento. Agrade¸co aos
meus pais, Luiz e Tereza, pelos exemplos de carinho, respeito e companheirismo que s´o o
`
verdadeiro amor ´e capaz de proporcionar. As minhas irm˜as, Karina e Marina, e ao meu
sobrinho, Luiz Eutimio, pelo incentivo constante e pelas poucas, por´em prazerosas, horas
`
em fam´ılia que tivemos ao longo destes anos. A minha amada esposa, Pollyana, pela prova
de paciˆencia, renuncia, confian¸ca e amor que me dedicou durante todo este tempo.
De maneira especial, agrade¸co a professora Rossana, minha orientadora, pelas horas
dedicadas a`s discusso˜es e revis˜oes deste trabalho, por me conduzir nos primeiros pas-
sos como pesquisador desde o mestrado, pelo ombro amigo nos momentos dif´ıceis e pelo
exemplo de foco, responsabilidade e perseveran¸ca. Ao professor Alessandro pela acolhida
no per´ıodo em que passei na PUC-Rio, pelo entusiasmo contagiante e pela sua dispo-
nibilidade para as discusso˜es que muito contribu´ıram para o desfecho desta tese. Aos
professores Heron e Jos´e Antˆonio pelas importantes contribui¸co˜es n˜ao so´ para a realiza¸ca˜o
deste trabalho, mas tamb´em para minha forma¸ca˜o acadˆemica como um todo.
Aos meus colegas do campus da UFC em Quixad´a pelo apoio e companheirismo nos
momentos mais turbulentos dessa jornada, muito obrigado. A todos os professores e
servidores do MDCC e do GREat que, gentilmente, me proporcionaram momentos de
discuss˜ao, reflex˜ao, alegria e descontra¸ca˜o.
Por fim, agradec¸o a CNPq pelo fomento, imprescind´ıvel a realiza¸ca˜o desta tese.
iv
“Elegance is not a dispensable luxury but a
quality that decides between success and failure.”
— Edsger W. Dijkstra
v
Resumo
Os sistemas de software adaptativos sens´ıveis ao contexto, tamb´em conhecidos como
auto-adaptativos, representam uma classe particular de sistemas de software complexos.
Esse tipo de sistema de software tem como requisito ba´sico observar o ambiente (f´ısico e
lo´gico)emqueexecutaereagirdeformaapropriadaa`smudan¸cas, quersejaadaptandosua
estrutura e comportamento ou executando tarefas de forma automa´tica. Nos ambientes
ub´ıquos, o software adaptativo sens´ıvel ao contexto assume um papel fundamental, sendo
projetado para interagir com o ambiente f´ısico com intuito de auxiliar as pessoas, de
forma transparente, na execu¸c˜ao das suas atividades cotidianas, tornando a intera¸ca˜o
humano-computador mais natural. Devido ao seu amplo dom´ınio de aplicac¸˜ao (e.g., casas
inteligentes, guias mo´veis de visita¸c˜ao, jogos, sau´de e misso˜es de resgate), os sistemas
de software adaptativo sens´ıvel ao contexto precisam ser confia´veis, para cumprir com a
sua fun¸c˜ao e lidar com situa¸co˜es anormais, evitando eventuais falhas. Nesse sentido, o
tratamento de exce¸ca˜o sens´ıvel ao contexto vem sendo empregado na melhoria dos n´ıveis
de robustez e confiabilidade desse tipo de sistema de software. Entretanto, o projeto e
implementa¸ca˜odotratamentodeexce¸ca˜osens´ıvelaocontextoexigedosprojetistasinsights
e expertise de dom´ınio, sendo uma atividade complexa e propensa a erros. Desse modo,
para que o tratamento de exce¸ca˜o sens´ıvel ao contexto atinja os objetivos esperados,
´e necessa´rio que ele seja projetado de forma rigorosa, buscando eliminar ao m´aximo o
nu´mero de faltas de projeto (design faults). Nesse cena´rio, esta tese de doutorado propo˜e
um m´etodo para verifica¸ca˜o de modelos do tratamento de excec¸˜ao sens´ıvel ao contexto,
denominadoCAEH!(Context-Aware Exception Handling Verification). OCAEH!provˆe
um conjunto de abstrac¸˜oes que permitem aos projetistas modelarem o comportamento
excepcional sens´ıvel contexto e mape´a-lo para uma estrutura de Kripke. Al´em disso,
um conjunto de propriedades comportamentais ´e estabelecido com o intuito de auxiliar os
projetistasnoprocessodeidentifica¸ca˜odedeterminadostiposdefaltasdeprojeto. Porfim,
com o objetivo de avaliar a viabilidade do m´etodo, uma ferramenta para a modelagem e
verifica¸ca˜o do comportamento excepcional sens´ıvel ao contexto foi desenvolvida e cen´arios
de inje¸c˜ao de faltas (fault injection) foram modelados para analisar a sua efetividade na
identifica¸ca˜o de faltas de projeto no modelo.
vi
Abstract
The context-aware adaptive software, also known as self-adaptive software, represents
a specific class of complex software systems, which has as primary requirement the ability
tomonitoritsexecutionenvironment(physicalandlogical)andreactsuponchange, either
adapting its internal structure and behavior or performing automatic tasks. In ubiquitous
environments, context-aware adaptive software plays a fundamental role, as it must be
designed to interact with the physical environment, aiming to transparently supporting
users in their daily activities, improving or hiding the interaction between human and
computer. In that direction, the application domain in which context-aware adaptive
software may be applied is broad (e.g., smart home, mobile visit guide, gaming, health or
rescue missions), requiring a high-degree of reliability, not only capable of performing its
functional requirements, but also dealing with abnormal conditions, avoiding occasional
failures. Although context-aware exception handling has been used to improve robustness
and reliability levels of context-aware adaptive software, it requires from the software de-
signers a good understanding of the application domain, turning out to be a complex and
error-prone activity. In order to achieve the expected results of using context-aware ex-
ception handling, it is mandatory to follow a rigorous design approach, trying to minimize
the number of design faults. In this scenario, this doctoral thesis proposes a method for
model checking context-aware exception handling, named CAEH!(Context-Aware Ex-
ception Handling Verification). It provides a set of abstractions that permits designers
to model the context-aware exceptional behavior and translates it to a Kripke structure.
Additionally, a set of behavior properties is established, attempting to aid designers to
identify specific types of design faults. To evaluate the feasibility of the proposed method,
a tool, called JCAEH!, for modeling and verification of context-aware exceptional beha-
vior is developed, and fault injection scenarios are modeled to analyze its effectiveness in
identifying design faults.
vii
Sum´ario
Lista de Figuras x
Lista de Tabelas xi
1 Introduc¸˜ao 1
1.1 Contextualizac¸˜ao e Motiva¸ca˜o . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problema, Hipo´tese e Quest˜oes de Pesquisa . . . . . . . . . . . . . . . . . . 5
1.3 Objetivo e Contribuic¸˜oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 UbiParking: Sistema Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 Funcionalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.2 Cena´rios Excepcionais . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Organiza¸ca˜o do Documento . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Fundamenta¸c˜ao Te´orica 12
2.1 Software Adaptativo Sens´ıvel ao Contexto . . . . . . . . . . . . . . . . . . 12
2.1.1 Defini¸co˜es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 Propriedades Auto-* . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.3 Elicita¸ca˜o de Requisitos de Adapta¸ca˜o . . . . . . . . . . . . . . . . 16
2.1.4 Modelagem de Dimenso˜es . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.5 Lac¸o de Adapta¸ca˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Tratamento de Exce¸ca˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1 Falta, Erro, Falha e Excec¸˜ao . . . . . . . . . . . . . . . . . . . . . . 22
2.2.2 Levantamento, Sinaliza¸ca˜o e Tratamento . . . . . . . . . . . . . . . 23
Description:Tese de Doutorado sob o tıtulo “CAEH!: Um Método para Verificaç˜ao de Modelos do Tratamento de Exceç˜ao Sensıvel ao Contexto em Sistemas Ubıquos” defendida por. Lincoln Souza Rocha no programa de Mestrado e Doutorado em Ciência da Computaç˜ao, da Universidade Federal do Ceará