Citations

... Therefore, in this paper the strength of the CSXM was used to specify a distributed system called Automated Teller Machine (ATM) which was correctly implemented and satisfies the challenge of software testing. [6], transformed X-machine specification written in X-Machine Language (XML) and which is automatically converted into an executable java code. This research was unable to write test cases, and it is limited to the theory of standalone X-machine components. ...
... As stated in equation (4), (5), (6), and (7) above, simply denotes several acceptable transitions from one matrix to another. Generally, CXM is a five tuple; ...
Conference Paper
Full-text available
The improvement of this paper takes advantage of the existing formal method called Stream XMachine by optimizing the theory and applying it to practice in a large-scale system. This optimized formal approach called Communicating Stream X-Machine (CSXM) applied in software testing based on its formal specifications to a distributed system as it points out its advantages and limits of the use of the existing formal methods to this level. However, despite the tremendous works that has been done in the software testing research area, the origin of bugs or defects in a software is still cost and takes more time to detect. Therefore, this paper has proven that the current state of art challenge is due to that lack of a formal specification of what exactly a software system is supposed to do. In this paper, CSXM principles was used for the development of Automated Teller Machine (ATM) given formal specification which outputs conforms with the implementation. Moreso, the computational strength of Remote Method Invocation (RMI) network interface in Java programming was used to provide communication between the stand-alone systems i.e., the client (ATM) and server (Bank) in the context of this paper. The results of this paper have been proven and helps software developers and researchers takes early action on bugs or defects discovered by software testing.
... For object-oriented systems, especially the Java programming language (JPL), the use of formal methods to automatically generate test suites have been extensively studied ( [14], [15], [16], [17], [18], [19], [20], [21]). However, most of these approaches concentrated on generating efficient test sets and nothing is said about their effectiveness. ...
... For object-oriented systems, especially the Java programming language (JPL), the use of formal methods to automatically generate test suites have been extensively studied ( [14], [15], [16], [17], [18], [19], [20], [21]). However, most of these approaches concentrated on generating efficient test sets and nothing is said about their effectiveness. ...
Article
Full-text available
The rapid change of requirements has made software more complex and harder to maintain. Software testing tools play an important role in the Software Development Life Cycle. However, many technology companies have employed fast paced development of software to meet the demands of their markets. Early released software tends to contain serious bugs and errors because they have not been tested properly during the testing process. Many current available testing tools are capable of detecting these faults; however, some of which are either outdated or cannot catch up with the constantly changing demands. Also, these testing tools concentrate more on generating efficient test sets while ignoring their effectiveness. This paper introduces an algorithm called T-SXM which is developed using the Java programming language based on the stream X-Machines theory which is an intuitive and powerful technique for modelling real world problems formally. The T-SXM algorithm is designed to provide developers with a tool to test the correctness of their implemented systems which can potentially resolve the problem of effectiveness that the other testing tools are facing.
... Uma X-Machine é uma máquina geral de computação proposta por Eilenberg e extendida por Holcombe [6,7,8] ...
Article
Full-text available
Amazonas (UFAM), Caixa Postal 69077-000 Manaus – AM – Brasil Resumo – Redes de Sensores Sem Fio (RSSF) têm atraído a atenção de muitos pesquisadores devido seu caráter pervasivo e flexível utilizado para o monitoramento e controle de fenômenos físicos. Em conseqüência temos o crescimento muito rápido do desenvolvimento de novas aplicações e proporcionalmente aumento de complexidade dos sistemas propostos e do custo de seu desenvolvimento. A dificuldade no desenvolvimento de novas aplicações não se deve somente as suas características restritivas (memória, processamento, energia), mas também por sua natureza distribuída, sua programação de baixo nível e na dificuldade em testar e validar o software. Este panorama é favorável a criação de novas metodologias e ferramentas que dêem suporte ao desenvolvimento de sistemas para tal plataforma. A proposta desta pesquisa é o emprego do método formal Communicating X-Machine para modelagem das aplicações em RSSF, no intuito de aumentar o nível de abstração, possibilitando com isso a eliminação de ambigüidades e inconsistências, além de proporcionar o particionamento do sistema para melhor entendimento e conseqüente facilidade de implementação. I. INTRODUÇÃO edes de Sensores Sem Fio (RSSF) são compostas por uma grande quantidade de dispositivos embarcados denominada de nós sensores, com capacidade de processamento, sensoriamento e comunicação sem fio [1,2,3]. Porém essa tecnologia apresenta características restritivas em relação a processamento, memória e energia. As RSSF possuem um grande potencial para aplicações de monitoramento e controle de fenômenos físicos, onde os nós sensores cooperam entre si para percepção de um fenômeno ou evento estudado. Tal potencial tem contribuído para o aumento na diversidade de aplicações e proporcionalmente no aumento da complexidade no desenvolvimento das mesmas. A programação para RSSF tem por característica ser dirigida a eventos e é realizada muito próxima ao sistema operacional exigindo ao desenvolvedor muita concentração em questões de baixo nível, o que tem por conseqüência a distração na aplicação da lógica e a necessidade de uma formação técnica adequada ao domínio da plataforma, fato raro de ser encontrado. Uma solução para problema seria o aumento no nível de abstração, a fim de simplificar a tarefa de programação, sem detrimento da eficiência e possibilitando com que o programador se restrinja apenas na aplicação da lógica. Alguns pesquisadores da área acenam para utilização de métodos formais como solução para este problema. Um método formal proporciona o aumento dos níveis de abstração, fazendo com que o desenvolvedor se preocupe com o que realmente interessa não se detendo em detalhes que não tenham relevância à aplicação, aliado a possibilidade de verificação de corretude da aplicação. A utilização de um método formal no processo de desenvolvimento de software, permite a descrição (especificação) de sistemas complexos a partir de entidades abstratas (independentes de implementação), construção (por refinamento) e verificação de sistemas com o objetivo de atingir níveis de qualidade mais elevados. Outra característica da utilização de métodos formais é o aumento do nível de abstração, que possibilita a especificação dos dados, comportamento e funções do sistema [4,5]. Alguns métodos formais como Máquinas de Estado Finito ou Redes de Petri, conseguem descrever a dinâmica de um sistema, porém falham para descrever como um dado é afetado em cada operação no diagrama de transição de estados. Outros métodos, como Statecharts, conseguem capturar a dinâmica e o comportamento dos dados em cada operação, porém são susceptíveis a diversas interpretações. Em [11] é utilizado Máquina de Estado Finito para o entendimento lógico das aplicações RSSF, isto é conseguido a partir dos códigos das aplicações descritas em nesC, o que é o caminho inverso de nossa proposta. X-Machine é um método formal intuitivo, que consegue descrever os tipos de dados de modo formal e as funções por meio de notação matemática conhecida [6], além de conseguir expressar à dinâmica e o comportamento do sistema (como um dado é afetado após uma operação). Além disso, o conjunto de X-Machines pode ser vistos como componentes que podem se comunicar e conseqüentemente formar um sistema maior, o que é uma característica bastante interessante para nossa pesquisa. Outra característica importante das X-Machines, é que devido ser um método intuitivo, facilita os estágios cruciais do desenvolvimento de software: modelagem, verificação e testes. Este trabalho propõe a utilização do método formal Communicating X-Machine na modelagem e geração de código para aplicações em RSSF. A seguir, apresentaremos os conceitos que serão utilizados na metodologia proposta (Seções II e III), bem como as descrições das etapas da modelagem das aplicações (Seção IV) e finalmente, será apresentado um exemplo prático existente na plataforma TinyOS (Seção V).