226 research outputs found
Testes incrementais em um desenvolvimento guiado por testes baseados em modelo
Orientador: Eliane MartinsDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: O desenvolvimento de sistemas pode ser realizado seguindo diversos modelos de processo. Os métodos ágeis propõem realizar implementações iterativas e incrementais e testes antecipados, buscando uma validação antecipada do sistema. Algumas técnicas ágeis adicionam a característica de um desenvolvimento de sistema baseado em testes, como as técnicas de Desenvolvimento Baseado em Teste (do inglês Test Driven Development (TDD)) e Desenvolvimento Baseado em Comportamento (do inglês Behaviour Driven Development (BDD)). Recentemente algumas técnicas propõem a união de técnicas ágeis de desenvolvimento baseado em testes com técnicas consolidadas da área de testes, com o objetivo principal de auxiliar na etapa de criação de testes, que serão utilizados para guiar o desenvolvimento do sistema. Um exemplo é a técnica de Desenvolvimento Guiado por Testes Baseados em Modelo (do inglês Model-Based Test Driven Development (MBTDD)) que une os conceitos de Testes Baseados em Modelo (do inglês Model-Based Testing (MBT)) e Desenvolvimento Baseado em Teste (TDD). Portanto em MBTDD, testes são derivados de modelos que representam os comportamentos esperados do sistema, e baseado nesses testes, o desenvolvimento iterativo e incremental ocorre. Entretanto quando lidamos com processos iterativos e incrementais, surgem problemas decorrente da evolução do sistema, como por exemplo: como reutilizar os artefatos de testes, e como selecionar os testes relevantes para a codificação da nova versão do sistema. Nesse contexto, este trabalho explora um processo no qual o desenvolvimento ágil de sistema é guiado por testes baseados em modelos, com o enfoque no auxílio do reúso dos artefatos de testes e no processo de identificação de testes relevantes para o desenvolvimento de uma nova versão do sistema. Para tanto, características do processo de MBTDD são unidas com características de uma técnica que busca o reúso de artefatos de testes baseado em princípios de testes de regressão, denominada Testes de Regressão SPL Baseados em Modelo Delta (do inglês Delta-Oriented Model-Based SPL Regression Testing). Para realizar a avaliação da solução proposta, ela foi aplicada em exemplos existentes e comparada com a abordagem no qual nenhum caso de teste é reutilizadoAbstract: Systems can be developed following different process models. Agile methods propose iterative and incremental implementations and anticipating tests, in order to anticipate system validation. Some agile techniques add the characteristic of development based on tests, like in Test Driven Development (TDD) and Behaviour Driven Development (BDD). Recently some techniques proposed joining the agile techniques of development based on tests with techniques consolidated in the field of testing, with the main purpose of aiding in the test creation stage, which are used to guide the development of the system. An example is Model-Based Test Driven Development (MBTDD) which joins the concepts of Model-Based Testing (MBT) and Test Driven Development (TDD). Therefore in MBTDD, tests are derived from models that represent the expected behaviour of the system, and based on those tests, iterative and incremental development is performed. However, when iterative and incremental processes are used, problems appear as the consequence of the evolution of the system, such as: how to reuse the test artefacts, and how to select the relevant tests for implementing the new version of the system. In this context, this work proposes a process in which the agile development of a system is guided by model based tests, focusing on helping with the reuse of test artefacts and on the process of identifying tests relevant to development. To achieve this goal, MBTDD process characteristics are joined with characteristics from a technique that aims to find reusability of test artefacts based on principles of regression tests, called Delta-Oriented Model-Based SPL Regression Testing. To evaluate the proposed solution, it was applied to existing examples and compared to the approach without any test case reuseMestradoCiência da ComputaçãoMestra em Ciência da Computação151647/2013-5CNP
Proof support for hybridised logics
Dissertação de mestrado em Engenharia InformáticaFormal methods are mathematical techniques used to certify safe systems.
Such methods abound and have been successfully used in classical Engineering
domains, yet informatics is the exception. There, they are still
immature and costly; furthermore, software engineers frequently view
them with "fear". Thus, the use of formal methods is typically restricted
to cases where they are essential. In other words, they are mostly used
in the class of systems where safety is imperative, as the lack of it can
lead to significant losses (material or human). We denote such systems
critical. The present is leading us to a future where critical systems are
ubiquitous.
Recent research in the Mondrian project emphasises the need for
expressive logics to formally specify reconfigurable systems, i.e., systems
capable of evolving in order to adapt to the different contexts induced
by the dynamics of their surroundings. In the same project, theoretical
foundations for the formal specification of reconfigurable systems, were
developed in a sound, generic, and systematic way, resorting for this to
hybrid logics – their intrinsic properties make them natural candidates for
such job. From those foundations a methodology for specifying reconfigurable
systems was built and proposed: Instead of choosing a logic for
the specification, build an hybrid ad-hoc one, by taking into account the
particular characteristics of each reconfigurable system to be specified.
The purpose of this dissertation is to bring the proposed methodology
into practice, by creating suitable tools for it, and by illustrating its
application to relevant case studies.Métodos formais são técnicas matemáticas usadas para certificar sistemas
fiáveis. Tais métodos são comuns e usados com sucesso nas engenharias
clássicas. No entanto, informática é a excepção. No que respeita este
campo, os métodos formais são prematuros e relativamente dispendiosos;
para além disso, os engenheiros de software vêem estas técnicas
com alguma apreensão. Assim, o emprego de métodos formais está tipicamente
restrito a casos onde são absolutamente essenciais. Por outras
palavras, são maioritariamente usados na classe de sistemas, cujas falhas
têm o potencial de tragédia, seja ela material ou humana; tais sistemas
têm a denominação de críticos. O presente leva-nos para um futuro em
que os sistemas críticos são ubíquos.
Investigação recente no project Mondrian enfatiza a necessidade de
lógicas expressivas, para especificar formalmente sistemas reconfiguráveis,
i.e., sistemas que evoluem de modo a se adaptarem aos diferentes contextos,
induzidos pela dinâmica do meio que os rodeia. No mesmo projecto,
bases teóricas para a especificação formal de sistemas reconfiguráveis foram
establecidas de forma sólida, genérica e sistemática, recorrendo-se
para isso às lógicas híbridas – as suas propriedades intrínsecas, fazem delas
candidatos naturais para a especificação de sistemas reconfiguráveis.
Dessas teorias foi inferida e proposta uma metodologia para especificar
sistemas reconfiguráveis: Em vez de escolher uma lógica para a especificação,
construir uma outra, híbrida ad-hoc, tendo em conta as características
particulares de cada sistema reconfigurável a especificar.
O propósito desta dissertação é de trazer a metodologia proposta à
práctica, criando-se para isso, ferramentas que a suportem, e ilustrando a
sua aplicação a casos de estudo relevantes
Combining SOA and BPM Technologies for Cross-System Process Automation
This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges arising from the transformation
Tool support for CSP-CASL.
This work presents the design of the specification language CSP-CASL, and the design and implementation of parsing and static analysis tools for that language. CSP-CASL is an extension of the algebraic specification language CASL, adding support for the specification of reactive systems in the style of the process algebra CSP. While CSP-CASL has been described and used in previous works, we present the first formal description of the language's syntax and static semantics. Indeed, this is the first formalisation of the static semantics of any CSP-like language of which we are aware. We describe Csp-Casl both informally and formally. We introduce and systematically describe its various components, with examples, and consider various design decisions made along the way. On the formal side, we present grammars for its abstract and concrete syntax, specify its static semantics in the style of natural semantics, and formulate a solution to the problem of computation of local lop elements of Csp-Casl specifications. Going on, we describe tool support for the language, as implemented using the functional programming language Haskell, in particular, we have a parser utilising the monadic combinator library Parsec, and a static analyser directly implementing our static semantics in Haskell. The implementation extends Hets, an existing toolset for specifications written in heterogeneous combinations of languages based on Casl
- …