81 |
Parent involvement in early childhood development in Kwazulu NatalBridgemohan, Radhika Rani 11 1900 (has links)
This study on parent involvement in Early Childhood Development in KwaZulu Natal
investigates the experiences of educators and parents of the different types of parent and
community involvement as set out in the Epstein typology. In order to investigate this
phenomenon a thorough background of the theory and practice of the Epstein model has been
provided. In addition the work of other researchers that support the Epstein typology of parent
involvement forms an integral part of the discussions. As parent involvement is the key focus
of the study, parent involvement in education before and after 1994 are discussed. In this
regard relevant educational policy and legislation that are designed to increase the role of
parents and the community in Early Childhood Development are highlighted. Parents' role in
the provision of Early Childhood Development is explored. The provision of Early Childhood
Development in KwaZulu Natal, which provides a backdrop for the investigation, is explained.
In addition contextual factors that influence parent involvement in KwaZulu Natal are
provided. The research methodology and the research design used in this study are described
in detail. By means of a qualitative approach the experiences of a small sample of educators
and parents in Early Childhood Development are explored using the six types of parent
involvement that include parenting, communicating, volunteering, learning at home and
collaborating with the community as set out in Epstein's comprehensive model. The
experiences of educators and parents of Grade R learners of the six types of involvement have
been included. Although all schools engage in some form of parent involvement, it is evident
that not all schools involve parents in all types of parent involvement to the same extent. The
study concludes with recommendations for developing strategies to involve parents more
effectively in Early Childhood Development in KwaZulu Natal. / Educational Studies / D. Ed. (Comparative Education)
|
82 |
Queued and Pooled Semantics for State Machines in the Umple Model-Oriented Programming LanguageAlghamdi, Aliaa January 2015 (has links)
This thesis describes extensions to state machines in the Umple model-oriented programming language to offer queued state machines (QSM), pooled state machines (PSM) and handing of the arrival of unexpected events. These features allow for modeling the behavior of a system or protocol in a more accurate way in Umple because they enable detecting and fixing common design errors such as unspecified receptions. In addition, they simplify the communication between communicating state machines by allowing for asynchronous calls of events and passing of messages between state machines. Also, a pooled state machine (PSM) has been developed to provide a different policy of handling events that avoid unspecified receptions. This mechanism has similar semantics as a queued state machine, but it differs in the way of detecting unspecified receptions because it helps handling these errors. Another mechanism has been designed to use the keyword ‘unspecified’ in whatever state of a state machine the user wants to detect these errors. In this thesis, the test-driven development (TDD) process has been followed to first modify the Umple syntax to add ‘queued,’ ‘pooled,’ and ‘unspecified’ keywords to Umple state machine’s grammar; and second, to make a change to the Umple semantics in order to implement these extensions in Umple. Then, additional modifications have been made to allow for Java code generation from those types of state machines. Finally, more test cases have been written to ensure that these models are syntactically and semantically correct. In order to show the usefulness and usability of these new features, an example is shown as a case study that is modeled using the queued state machine (QSM) besides other small tests cases.
|
83 |
Comunicação do resultado do teste HIV positivo no contexto do aconselhamento sorológico: a versão do cliente / Communicating the HIV positive result within the counseling process: the subjects version [Thesis]. São Paulo (BR): Faculdade de Saúde Pública da Universidade de São Paulo; 2006.Diva Maria Faleiros Camargo Moreno 30 August 2006 (has links)
Introdução - O aconselhamento é a estratégia escolhida pela Organização Mundial da Saúde para o combate à epidemia de aids por ser um método de ajuda, apoio e prevenção. Objetivo - Analisar as características das interações aconselhador-cliente no processo da revelação do diagnóstico positivo para HIV em dois Centros de Testagem e Aconselhamento em DST e Aids do Município de São Paulo, com base na versão dos clientes e tomando por referência suas repercussões sobre os procedimentos e resultados da atividade. Métodos - Como técnica de coleta para o levantamento de dados, foi utilizada a entrevista em momento posterior ao aconselhamento pós-teste. No total, foram realizadas 20 entrevistas, sendo 14 os sujeitos de pesquisa. Todos os entrevistados eram do sexo masculino. Os critérios escolhidos para inclusão no estudo foram: ter 18 anos ou mais; ter resultado positivo no teste anti-HIV; e ter participado do processo de revelação do diagnóstico de infecção pelo HIV nos serviços pesquisados. Para organizar os dados, a autora utilizou a técnica de análise de conteúdo por entrevista e por tema, construindo categorias analíticas segundo os objetivos do estudo. Os dados foram analisados e interpretados por meio da utilização de conceitos da teoria psicanalítica de D.W.Winnicott. Resultados - Com base nos relatos, considera-se que os profissionais seguem bem o protocolo do aconselhamento, atingindo seus objetivos de: a) lidar com os sentimentos provocados pelo diagnóstico positivo para o HIV; b) dar ao cliente a oportunidade de expressar seu sofrimento e angústia; c) sustentar as dificuldades de compartilhar a notícia com familiares e parceiros; e d) tirar dúvidas sobre prevenção de DST/HIV e sobre a terapia antiretroviral. Os contextos de aconselhamento investigados caracterizaram-se pelas interações de ajuda e suporte para a maioria dos entrevistados, funcionando como realidade compartilhada e dando sustentação para seus sentimentos e preocupações. Entretanto, alguns clientes sentiram falta de espaço para discussão e de mais tempo para abordarem questões pessoais, além daquelas relacionadas à sua nova condição de portadores do HIV. Conclusões - Na versão dos clientes, os aconselhadores os acolhem, informam e apóiam em suas necessidades. A análise revelou os processos psicológicos que operaram no momento do aconselhamento pós-teste entre o sujeito de pesquisa e o aconselhador. A escuta do cliente é a condição primordial para que o ambiente de compartilhamento se instale. O estudo fornece subsídios para melhorar a qualidade deste serviço prestado à população. / Introduction - Counseling is the strategy chosen by the World Health Organization against the aids epidemic since it is a method for help, support and prevention. Objective - To analyze the characteristics of counselor-subject interactions within the process of disclosing the positive diagnosis for HIV in two STD and Aids Counseling and Testing Centers in the city of São Paulo, according to the subjects version and based on their repercussions of the activity's procedures and results. Methods - The technique used to gather data was the interview, performed after the counseling moment when test result was communicated. In total, 20 interviews were carried with 14 research subjects. All interviewed were men. The criteria chosen to include a subject in the research were: greater than 18 years of age; positive for HIV; and having received the positive diagnosis for HIV at the researched CTC. In order to organize the data, the author used the technique of analysis of content by interview and by theme, elaborating analytical categories based on the study objectives. The data was interpreted using the concepts of the psychoanalytical theory of D. W. Winnicott. Results - Based on the subjects reports, it is considered that professionals follow the protocol for counseling, reaching its objectives, which are: a) dealing with feelings caused by the diagnosis; b) providing the opportunity to the subjects to express their suffering and anxiety; c) surpassing difficulties sharing the diagnosis with their family and partners; and d) clarifying questions about STD/HIV prevention and therapy. In the investigated counseling the interactions were characterized by the support and assistance for most of the subjects, acting as a shared reality and providing support to their feelings and concerns. However, some subjects felt the need for more time to discuss their feelings and personal issues, besides the ones related to their new HIV carrier condition. Conclusions - In the subjects version, the counselors welcome them, provide information and support for their needs. The study revealed the psychological processes occurred during the post-test counseling between the subject and the counselor. Listening to the subject is the primary condition to establish a sharing environment. The study provides data to improve the service currently available to the population.
|
84 |
The Role Humor Plays in Facilitating Rapport, Engagement, and Motivation in Graduate Online Learning EnvironmentsSteele, James 08 1900 (has links)
This study seeks to explore, using an interpretivist phenomenological approach, how humor may impact rapport, engagement, and motivation in graduate online learning environments. Through detailed qualitative analysis of semi-structured interviews, direct observation, and demographic survey data, emergent themes were identified that support the use of appropriate humor to create a positive online environment in which learning can take place. Evidence indicates that humor, when used purposefully and appropriately, is a valuable tool for promoting rapport and engagement amongst course members through community-building and enhanced interpersonal connections. The results of this study reveal the importance of finding common ground and shared experiences to improve the overall social and communicative culture of an online course. The results also support the idea that online instructors should make a great effort in connecting with students in online courses and must make a greater effort to appropriately engage in their online courses. Appropriate recommendations are made for practical application of humor to support pedagogy, as well as recommendations for future research on humor in educational environments.
|
85 |
Approches formelles pour l'analyse de la performabilité des systèmes communicants mobiles : Applications aux réseaux de capteurs sans fil / Formal approaches for performability analysis of communicating systems : an application to wireless sensor networksAbo, Robert 06 December 2011 (has links)
Nous nous intéressons à l'analyse des exigences de performabilité des systèmes communicants mobiles par model checking. Nous modélisons ces systèmes à l'aide d'un formalisme de haut niveau issu du π-calcul, permettant de considérer des comportements stochastiques, temporels, déterministes, ou indéterministes. Cependant, dans le π-calcul, la primitive de communication de base des systèmes est la communication en point-à-point synchrone. Or, les systèmes mobiles, qui utilisent des réseaux sans fil, communiquent essentiellement par diffusion locale. C'est pourquoi, dans un premier temps, nous définissons la communication par diffusion dans le π-calcul, afin de mieux modéliser les systèmes que nous étudions. Nous proposons d'utiliser des versions probabilistes et stochastiques de l'algèbre que nous avons défini, pour permettre des études de performance. Nous en définissons une version temporelle permettant de considérer le temps dans les modèles. Mais l'absence d'outils d'analyse des propriétés sur des modèles spécifiés en une algèbre issue du π-calcul est un obstacle majeur à notre travail. La définition de règles de traduction en langage PRISM, nous permet de traduire nos modèles, en modèles de bas niveau supports du model checking, à savoir des chaînes de Markov à temps discret, à temps continu, des automates temporisés, ou des automates temporisés probabilistes. Nous avons choisi l'outil PRISM car, à notre connaissance, dans sa dernière version, il est le seul outil à supporter les formalismes de bas niveau que nous venons de citer, et ainsi il permet de réaliser des études de performabilité complètes. Cette façon de procéder nous permet de pallier à l'absence d'outils d'analyse pour nos modèles. Par la suite, nous appliquons ces concepts théoriques aux réseaux de capteurs sans fil mobiles. / We are interested in analyzing the performability requirements of mobile communication systems by using model checking techniques. We model these systems using a high-level formalism derived from the π-calculus, for considering stochastic, timed, deterministic or indeterministic behaviors. However, in the π-calculus, the basic communication primitive of systems is the synchronous point-to-point communication. However, mobile systems that use wireless networks, mostly communicate by local broadcast. Therefore, we first define the broadcast communication into the π-calculus, to better model the systems we study. We propose to use probabilistic and stochastic versions of the algebra we have defined to allow performance studies. We define a temporal version to consider time in the models. But the lack of tools for analyzing properties of models specified with π-calculus is a major obstacle to our work and its objectives. The definition of translation rules into the PRISM language allows us to translate our models in low-level models which can support model checking, namely discrete time, or continuous time Markov chains, timed automata, or probabilistic timed automata. We chose the PRISM model checker because, in our best knowledge, in its latest version, it is the only tool that supports the low-level formalisms that we have previously cited, and thus, makes it possible to realize complete performability studies. This approach allows us to overcome the lack of model checkers for our models. Subsequently, we apply these theoretical concepts to analyse performability of mobile wireless sensor networks.
|
86 |
Program Slicing for Modern Programming LanguagesGalindo Jiménez, Carlos Santiago 24 September 2025 (has links)
[ES] Producir software eficiente y efectivo es una tarea que parece ser tan difícil ahora como lo era para los primeros ordenadores. Con cada mejora de hardware y herramientas de desarrollo (como son compiladores y analizadores), la demanda de producir software más rápido y más complejo ha ido aumentando. Por tanto, todos estos análisis auxiliares ahora son una parte integral del desarrollo de programas complejos.
La fragmentación de programas es una técnica de análisis estático, que da respuesta a ¿Qué partes del programa pueden afectar a esta instrucción? Su aplicación principal es la depuración de programas, porque puede acotar la zona de código a la que el programador debe prestar atención mientras busca la causa de un error. También tiene otras muchas aplicaciones, como pueden ser la paralelización y especialización de programas, la comprensión de programas y el mantenimiento. En los últimos años, su uso más común ha sido como preproceso a otros análisis con alto coste computacional, para reducir el tamaño del programa a procesar, y, por tanto, el tiempo de ejecución de estos. La estructura de datos más popular para fragmentar programas es el system dependence graph (SDG), un grafo dirigido que representa las instrucciones de un programa como vértices, y sus dependencias como arcos. Los dos tipos principales de dependencias son las de control y las de datos, que encapsulan el flujo de control y datos en todas las ejecuciones posibles de un programa.
El área de lenguajes de programación está en eterno cambio, ya sea por la aparición de nuevos lenguajes o por el lanzamiento de nuevas características en lenguajes existentes, como pueden ser Java o Erlang. Sin embargo, la fragmentación de programas se definió originalmente para el paradigma imperativo. Aun así, hay características populares en lenguajes imperativos, como las arrays y las excepciones, que aún no tienen una representación eficiente y/o completa en el SDG. Otros paradigmas, como el funcional o el orientado a objetos, sufren también de un soporte parcial en el SDG.
Esta tesis presenta mejoras para construcciones comunes en la programación moderna, dividiendo contribuciones en las enfocadas a dependencias de control y las enfocadas a datos. Para las primeras, especificamos una nueva representación de instrucciones catch, junto a una descripción completa del resto de instrucciones relacionadas con excepciones. También analizamos las técnicas punteras para saltos incondicionales (p.e., break), y mostramos los riesgos de combinarlas con otras técnicas para objetos, llamadas o excepciones. A continuación, ponemos nuestra mirada en la concurrencia, con una formalización de un depurador de especificaciones CSP reversible y causal-consistente. En cuanto a las dependencias de datos, se enfocan en técnicas sensibles al contexto (es decir, más precisas en presencia de rutinas y sus llamadas). Exploramos las dependencias de datos generadas en programas concurrentes por memoria compartida, redefiniendo las dependencias de interferencia para hacerlas sensibles al contexto. A continuación, damos un pequeño rodeo por el campo de la indecidibilidad, en el que demostramos que ciertos tipos de análisis de datos sobre programas con estructuras de datos complejas son indecidibles. Finalmente, ampliamos un trabajo previo sobre la fragmentación de estructuras de datos complejas, combinándolo con la fragmentación tabular, que la hace sensible al contexto.
Además, se han desarrollado o extendido múltiples librerías de código con las mejoras mencionadas anteriormente. Estas librerías nos han permitido realizar evaluaciones empíricas para algunos de los capítulos, y también han sido publicadas bajo licencias libres, que permiten a otros desarrolladores e investigadores extenderlas y contrastarlas con sus propuestas, respectivamente. Las herramientas resultantes son dos fragmentadores de código para Java y Erlang, y un depurador de CSP reversible y causal-consistente. / [CA] La producció de programari eficient i eficaç és una tasca que resulta tan difícil hui dia com ho va ser durant l'adveniment dels ordinadors. Per cada millora de maquinari i ferramentes per al desenvolupament, augmenta sovint la demanda de programes, així com la seua complexitat. Com a conseqüència, totes aquestes anàlisis auxiliars esdevenen una part integral del desenvolupament de programari.
La fragmentació de programes és una tècnica d'anàlisi estàtica, que respon a "Quines parts d'aquest programa poden afectar a aquesta instrucció?". L'aplicació principal d'aquesta tècnica és la depuració de programes, per la seua capacitat de reduir la llargària d'un programa sense canviar el seu funcionament respecte a una instrucció que està fallant, delimitant així l'àrea del codi en què el programador busca l'origen de l'errada. Tot i això, té moltes altres aplicacions, com la paral·lelització i especialització de programes o la comprensió de programes i el seu manteniment. Durant els darrers anys, l'ús més freqüent de la fragmentació de programes ha sigut com a <<preprocés>> abans d'altres anàlisis amb un alt cost computacional, per tal de reduir-ne el temps requerit per realitzar-les. L'estructura de dades més popular per fragmentar programes és el system dependence graph (SDG), un graf dirigit representant-ne les instruccions d'un programa amb vèrtexs i les seues dependències amb arcs. Els dos tipus principals de dependència són el de control i el de dades, aquests encapsulen el flux de control i dades a totes les possibles execucions d'un programa.
L'àrea dels llenguatges de programació s'hi troba en constant evolució, o bé per l'aparició de nous llenguatges, o bé per noves característiques per als preexistents, com poden ser Java o Erlang. No obstant això, la fragmentació de programes s'hi va definir originalment per al paradigma imperatiu. Tot i que, també hi trobem característiques populars als llenguatges imperatius, com els arrays i les excepcions, que encara no en tenen una representació eficient i/o completa al SDG. Altres paradigmes, com el funcional o l'orientat a objectes, pateixen també d'un suport reduit al SDG.
Aquesta tesi presenta millores per a construccions comunes de la programació moderna, dividint les contribucions entre aquelles enfocades a les dependències de control i aquelles enfocades a dades. Per a les primeres, hi especifiquem una nova representació d'instruccions catch, junt amb una descripció de la resta d'instruccions relacionades amb excepcions. També hi analitzem les tècniques capdavanteres de fragmentació de salts incondicionals, i hi mostrem els riscs de combinar-ne-les amb altres tècniques per a objectes, instruccions de crida i excepcions. A continuació, hi posem la nostra atenció en la concurrència, amb una formalització d'un depurador d'especificacions CSP reversible i causal-consistent. Respecte a les dependències de dades, dirigim els nostres esforços a produir tècniques sensibles al context (és a dir, que es mantinguen precises en presència de procediments). Hi explorem les dependències de dades generades en programes concurrents amb memòria compartida, redefinint-ne les dependències d'interferència per a fer-ne-les sensibles al context. Seguidament, hi demostrem la indecidibilitat d'alguns tipus d'anàlisis de dades per a programes amb estructures de dades complexes. Finalment, hi ampliem un treball previ sobre la fragmentació d'estructures de dades complexes, combinant-lo amb la fragmentació tabular, fent-hi-la sensible al context.
A més a més, s'han desenvolupat o estés diverses llibreries de codi amb les millores esmentades prèviament. Aquestes llibreries ens han permés avaluar empíricament alguns dels capítols i també han sigut publicades sota llicències lliures, fet que permet a altres desenvolupadors i investigadors poder estendre-les i contrastar-les, respectivament. Les ferramentes resultants són dos fragmentadors de codi per a Java i Erlang, i un depurador CSP. / [EN] Producing efficient and effective software is a task that has remained difficult since the advent of computers. With every improvement on hardware and developer tooling (e.g., compilers and checkers), the demand for software has increased even further. This means that auxiliary analyses have become integral in developing complex software systems.
Program slicing is a static analysis technique that gives answers to "What parts of the program can affect a given statement?", and similar questions. Its main application is debugging, as it can reduce the amount of code on which a programmer must look for a mistake or bug. Other applications include program parallelization and specialisation, program comprehension, and software maintenance. Lately, it has mostly been applied as a pre-processing step in other expensive static analyses, to lower the size of the program and thus the analyses' runtime. The most popular data structure in program slicing is the system dependence graph (SDG), which represents statements as nodes and dependences as arcs between them. The two main types of dependences are control and data dependences, which encapsulate the control and data flow throughout every possible execution of a program.
Programming languages are an ever-expanding subject, with new features coming to new releases of popular and up-and-coming languages like Python, Java, Erlang, Rust, and Go. However, program slicing was originally defined for (and has been mostly focused on) imperative programming languages. Even then, some popular elements of the imperative paradigm, such as arrays and exceptions do not have an efficient or sometimes complete representation in the SDG. Other paradigms, such as functional or object-oriented also suffer from partial support in the SDG.
This thesis presents improvements for common programming constructs, and its contributions are split into control and data dependence. For the former, we (i) specify a new representation of catch statements, along with a full description of other exception-handling constructs. We also (ii) analyse the current state-of-the-art technique for unconditional jumps (e.g., break or return), and show the risks of combining it with other popular techniques. Then, we focus on concurrency, with a (iii) formalisation of a reversible, causal-consistent debugger for CSP specifications. Switching to data dependences, we focus our contributions on making existing techniques context-sensitive (i.e., more accurate in the presence of routines or functions). We explore the data dependences involved in shared-memory concurrent programs, (iv) redefining interference dependence to make it context-sensitive. Afterwards, we take a small detour to (v) explore the decidability of various data analyses on programs with (and without) complex data structures and routine calls. Finally, we (vi) extend our previous work on slicing complex data structures to combine it with tabular slicing, which provides context-sensitivity.
Additionally, throughout this thesis, multiple supporting software libraries have been written or extended with the aforementioned improvements to program slicing. These have been used to provide empirical evaluations, and are available under libre software licenses, such that other researchers and software developers may extend or contrast them against their own proposals. The resulting tools are two program slicers for Java and Erlang, and a causal-consistent reversible debugger for CSP. / Galindo Jiménez, CS. (2024). Program Slicing for Modern Programming Languages [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/211183
|
87 |
Quality Assurance of Test Specifications for Reactive Systems / Qualitätssicherung von Testspezifikationen für Reaktive SystemeZeiß, Benjamin 02 June 2010 (has links)
No description available.
|
88 |
Parental involvement in single-parent/guardian and two-parent/guardian school-learner households, in Durban, South AfricaGounden, Nirvana 02 1900 (has links)
With the quality of our South African public education system internationally in question we need to look into supplemental ways to improve the education of our country’s children. Numerous studies have shown that parental involvement has a positive effect on student academic achievement. This study aimed to quantitatively determine the current extent and types of parental involvement in the education of their school-going children, in single-parent/guardian and two-parent/guardian households in Durban, KwaZulu-Natal. This included General Education and Training (GET) and Further Education and Training (FET) levels. The method of time-space sampling was used to administer a researcher-created questionnaire ‒ based on Epstein’s (2009) framework of six types of involvement ‒ pertaining to parents/guardians in the Durban CBD. The findings of the study resulted in recommendations pertaining to: the aspects of parental involvement that elicited low levels of involvement such as significant numbers of parents from single-parent households indicating that they would attend parent days at school if they were given a choice of possible attendance days; the need to identify and support parents that are unable to participate as much as they would like to by offering transportation for school meetings or activities, including school governing body and budget meetings; and the requests from parents/guardians regarding the use of technology in the form of sms communication in helping them to stay more informed regarding the progress etc. of their child at school. / ABET and Youth Development / M. Ed. (Adult Education)
|
89 |
Optimalizace indikací chirurgického a endovaskulárního ošetření intrakraniálních aneurysmat. / Optimalised indications for microsurgical and endovascular treatment of intracranial aneurysms.Štekláčová, Anna January 2018 (has links)
Univerzita Karlova v Praze 1. lékařská fakulta Autoreferát disertační práce Optimalizace indikací chirurgického a endovaskulárního ošetření intrakraniálních aneurysmat Anna Štekláčová 2018 2 Doktorské studijní programy v biomedicíně Univerzita Karlova v Praze a Akademie věd České republiky Obor: Neurovědy Předseda oborové rady: Prof. MUDr. Karel Šonka, DrSc. Školicí pracoviště: Neurochirurgická a neuroonkologická klinika 1. LF UK a ÚVN, Praha Školitel: Prof. MUDr. Vladimír Beneš, DrSc. Disertační práce bude nejméně pět pracovních dnů před konáním obhajoby zveřejněna k nahlížení veřejnosti v tištěné podobě na Oddělení pro vědeckou činnost a zahraniční styky Děkanátu 1. lékařské fakulty. 3 Obsah Abstrakt - Česky ..................................................................................... 4 Abstract - English ................................................................................... 5 Úvod........................................................................................................ 6 Hypotézy a cíle studie............................................................................. 6 Materiál a metody ................................................................................... 7 Výsledky...
|
90 |
NAT2TEST: generating test cases from natural language requirements based on CSPCARVALHO, Gustavo Henrique Porto de 26 February 2016 (has links)
Submitted by Natalia de Souza Gonçalves (natalia.goncalves@ufpe.br) on 2016-09-28T12:33:15Z
No. of bitstreams: 2
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
GustavoHPCarvalho_Doutorado_CInUFPE_2016.pdf: 1763137 bytes, checksum: aed7b3ab2f6235757818003678633c9b (MD5) / Made available in DSpace on 2016-09-28T12:33:15Z (GMT). No. of bitstreams: 2
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
GustavoHPCarvalho_Doutorado_CInUFPE_2016.pdf: 1763137 bytes, checksum: aed7b3ab2f6235757818003678633c9b (MD5)
Previous issue date: 2016-02-26 / High trustworthiness levels are usually required when developing critical systems, and model based testing (MBT) techniques play an important role generating test cases from specification models. Concerning critical systems, these models are usually created using formal or semi-formal notations. Moreover, it is also desired to clearly and formally state the conditions necessary to guarantee that an implementation is correct with respect to its specification by means of a conformance relation, which can be used to prove that the test generation strategy is sound. Despite the benefits of MBT, those who are not familiar with the models syntax and semantics may be reluctant to adopt these formalisms. Furthermore, most of these models are not available in the very beginning of the project, when usually natural-language requirements are available. Therefore, the use of MBT is postponed. Here, we propose an MBT strategy for generating test cases from controlled naturallanguage (CNL) requirements: NAT2TEST, which refrains the user from knowing the syntax and semantics of the underlying notations, besides allowing early use of MBT via naturallanguage processing techniques; the formal and semi-formal models internally used by our strategy are automatically generated from the natural-language requirements. Our approach is tailored to data-flow reactive systems: a class of embedded systems whose inputs and outputs are always available as signals. These systems can also have timed-based behaviour, which may be discrete or continuous. The NAT2TEST strategy comprises a number of phases. Initially, the requirements are syntactically analysed according to a CNL we proposed to describe data-flow reactive systems. Then, the requirements informal semantics are characterised based on the case grammar theory. Afterwards, we derive a formal representation of the requirements considering a model of dataflow reactive systems we defined. Finally, this formal model is translated into communicating sequential processes (CSP) to provide means for generating test cases. We prove that our test generation strategy is sound with respect to our timed input-output conformance relation based on CSP: csptio. Besides CSP, we explore the generation of other target notations (SCR and IMR) from which we can generate test cases using commercial tools (T-VEC and RT-Tester, respectively). The whole process is fully automated by the NAT2TEST tool. Our strategy was evaluated considering examples from the literature, the aerospace (Embraer) and the automotive (Mercedes) industry. We analysed performance and the ability to detect defects generated via mutation. In general, our strategy outperformed the considered baseline: random testing. We also compared our strategy with relevant commercial tools. / Testes baseados em modelos (MBT) consiste em criar modelos para especificar o comportamento esperado de sistemas e, a partir destes, gerar testes que verificam se implementações possuem o nível de confiabilidade esperado. No contexto de sistemas críticos, estes modelos são normalmente (semi)formais e deseja-se uma definição precisa das condições necessárias para garantir que uma implementação é correta em relação ao modelo da especificação. Esta definição caracteriza uma relação de conformidade, que pode ser usada para provar que uma estratégia de MBT é consistente (sound). Apesar dos benefícios, aqueles sem familiaridade com a sintaxe e a semântica dos modelos empregados podem relutar em adotar estes formalismos. Aqui, propõe-se uma estratégia de MBT para gerar casos de teste a partir de linguagem natural controlada (CNL). Esta estratégia (NAT2TEST) dispensa a necessidade de conhecer a sintaxe e a semântica das notações formais utilizadas internamente, uma vez que os modelos intermediários são gerados automaticamente a partir de requisitos em linguagem natural. Esta estratégia é apropriada para sistemas reativos baseados em fluxos de dados: uma classe de sistemas embarcados cujas entradas e saídas estão sempre disponíveis como sinais. Estes sistemas também podem ter comportamento dependente do tempo (discreto ou contínuo). Na estratégia NAT2TEST, inicialmente, os requisitos são analisados sintaticamente de acordo com a CNL proposta neste trabalho para descrever sistemas reativos. Em seguida, a semântica informal dos requisitos é caracterizada utilizando a teoria de gramática de casos. Posteriormente, deriva-se uma representação formal dos requisitos considerando um modelo definido neste trabalho para sistemas reativos. Finalmente, este modelo é traduzido em uma especificação em communicating sequential processes (CSP) para permitir a geração de testes. Este trabalho prova que a estratégia de testes proposta é consistente considerando a relação de conformidade temporal baseada em entradas e saídas também definida aqui: csptio. Além de CSP, foi explorada a geração de outras notações formais (SCR e IMR), a partir das quais é possível gerar casos de teste usando ferramentas comerciais (T-VEC e RT-Tester, respectivamente). Todo o processo é automatizado pela ferramenta NAT2TEST. A estratégia NAT2TEST foi avaliada considerando exemplos da literatura, da indústria aeroespacial (Embraer) e da automotiva (Mercedes). Foram analisados o desempenho e a capacidade de detectar defeitos gerados através de operadores de mutação. Em geral, a estratégia NAT2TEST apresentou melhores resultados do que a referência adotada: testes aleatórios. A estratégia NAT2TEST também foi comparada com ferramentas comerciais relevantes.
|
Page generated in 0.1035 seconds