171 |
X-ARM: um modelo de representa??o de artefatos de softwareSantos, Michael Shuenck dos 16 October 2006 (has links)
Made available in DSpace on 2014-12-17T15:48:02Z (GMT). No. of bitstreams: 1
MichaelSS.pdf: 1470554 bytes, checksum: 016748ab8192abef9067fea20f51d077 (MD5)
Previous issue date: 2006-10-16 / A great challenge of the Component Based Development is the creation of mechanisms to facilitate the finding of reusable assets that fulfill the requirements of a particular system under development. In this sense, some component repositories have been proposed in order to answer such a need. However, repositories need to represent the asset characteristics that can be taken into account by the consumers when choosing the more adequate assets for their needs. In such a context, the literature presents some models proposed to describe the asset characteristics, such as identification, classification, non-functional requirements, usage and deployment information and component interfaces. Nevertheless, the set of characteristics represented by those models is insufficient to describe information used before, during and after the asset acquisition. This information refers to negotiation, certification, change history, adopted development process, events, exceptions and so on. In order to overcome this gap, this work proposes an XML-based model to represent several characteristics, of different asset types, that may be employed in the component-based development. Besides representing metadata used by consumers, useful for asset discovering, acquisition and usage, this model, called X-ARM, also focus on helping asset developers activities. Since the proposed model represents an expressive amount of information, this work also presents a tool called X-Packager, developed with the goal of helping asset description with X-ARM / O Desenvolvimento Baseado em Componentes tem como grande desafio a cria??o de mecanismos que facilitem a identifica??o de assets reus?veis que satisfa?am os requisitos de sistemas particulares sob desenvolvimento. Neste sentido, reposit?rios de componentes t?m sido propostos como meios para se atender esta necessidade. Por?m, reposit?rios precisam representar as caracter?sticas de assets que possam ser levadas em considera??o pelos consumidores quando da escolha dos assets mais adequados ?s suas necessidades. Neste contexto, a literatura apresenta alguns modelos que foram propostos com a finalidade de descrever as caracter?sticas de assets, tais como identifica??o, classifica??o, requisitos n?o funcionais, informa??es de implanta??o e uso, arquivos que comp?em os assets, e interfaces de componentes. No entanto, o conjunto de caracter?sticas representadas por estes modelos ? insuficiente para descrever diversas informa??es usadas antes, durante e depois da aquisi??o dos assets, dentre as quais pode-se destacar informa??es de negocia??o e certifica??o, hist?rico de mudan?as, processo de desenvolvimento usado, eventos, exce??es. De forma a solucionar tais defici?ncias, este trabalho apresenta um modelo baseado em XML para a representa??o de diversas caracter?sticas, de diversos tipos de assets, que possam ser empregadas no desenvolvimento baseado em componentes. O modelo proposto, denominado X-ARM, fornece informa??es usadas n?o apenas pelos consumidores na identifica??o, aquisi??o e uso de assets, mas tamb?m para apoiar as atividades dos desenvolvedores de assets. Dado que o modelo proposto representa uma expressiva quantidade de informa??es, este trabalho tamb?m apresenta uma ferramenta chamada X-Packager, desenvolvida com o objetivo de auxiliar a descri??o de assets com X-ARM
|
172 |
Gera??o de interfaces de usu?rio de sistemas Web para m?ltiplos dispositivos com o uso de componentes de IUSousa, Lirisnei Gomes de 20 August 2007 (has links)
Made available in DSpace on 2014-12-17T15:48:13Z (GMT). No. of bitstreams: 1
LirisneiGS.pdf: 852828 bytes, checksum: d8e0d9662bced4742e1d852cf03d78a8 (MD5)
Previous issue date: 2007-08-20 / Coordena??o de Aperfei?oamento de Pessoal de N?vel Superior / This work presents an User Interface (UI) prototypes generation process to the softwares that has a Web browser as a plataform. This process uses UI components more complex than HTML elements. To described this components more complex this work suggest to use the XICL (eXtensinble User Interface Components Language). XICL is a language, based on XML syntax, to describe UI Components and IUs. XICL promotes extensibility and reusability in the User Interface development process. We have developed two compiler. The first one compiles IMML (Interactive Message Modeling Language) code and generates XICL code. The second one compiles XICL code and generates DHTML code / Este trabalho apresenta um processo de gera??o de prot?tipos de Interfaces de Usu?rio (IU) para software que tem como plataforma operacional um navegador Web. Este processo faz o uso de componentes de interface de usu?rio mais complexos que os elementos HTML. Para descrever estes componentes mais complexos este trabalho sugere o uso da linguagem XICL (eXtensible User Interface Components Language). A XICL ? uma linguagem, baseada em XML, para a descri??o de componentes de IU e de IUs. A XICL permite reusabilidade e extensibilidade no desenvolvimento de interfaces de usu?rios. Foram desenvolvidos dois compiladores, um que gera c?digo XICL a partir de c?digo IMML (Interactive Message Modeling Language) e outro que a partir de XICL gera DHTML
|
173 |
Une approche par composants pour l'analyse visuelle interactive de résultats issus de simulations numériques / A component-based approach for interactive visual analysis of numerical simulation resultsAit Wakrime, Abderrahim 10 December 2015 (has links)
Les architectures par composants sont de plus en plus étudiées et utilisées pour le développement efficace des applications en génie logiciel. Elles offrent, d’un côté, une architecture claire aux développeurs, et de l’autre, une séparation des différentes parties fonctionnelles et en particulier dans les applications de visualisation scientifique interactives. La modélisation de ces applications doit permettre la description des comportements de chaque composant et les actions globales du système. De plus, les interactions entre composants s’expriment par des schémas de communication qui peuvent être très complexes avec, par exemple, la possibilité de perdre des messages pour gagner en performance. Cette thèse décrit le modèle ComSA (Component-based approach for Scientific Applications) qui est basé sur une approche par composants dédiée aux applications de visualisation scientifique interactive et dynamique formalisée par les réseaux FIFO colorés stricts (sCFN). Les principales contributions de cette thèse sont dans un premier temps, un ensemble d’outils pour modéliser les différents comportements des composants ainsi que les différentes politiques de communication au sein de l’application. Dans un second temps, la définition de propriétés garantissant un démarrage propre de l’application en analysant et détectant les blocages. Cela permet de garantir la vivacité tout au long de l’exécution de l’application. Finalement l’étude de la reconfiguration dynamique des applications d’analyse visuelle par ajout ou suppression à la volée d’un composant sans arrêter toute l’application. Cette reconfiguration permet de minimiser le nombre de services non disponibles. / Component-based approaches are increasingly studied and used for the effective development of the applications in software engineering. They offer, on the one hand, safe architecture to developers, and on the other one, a separation of the various functional parts and particularly in the interactive scientific visualization applications. Modeling such applications enables the behavior description of each component and the global system’s actions. Moreover, the interactions between components are expressed through a communication schemes sometimes very complex with, for example, the possibility to lose messages to enhance performance. This thesis describes ComSA model (Component-based approach for Scientific Applications) that relies on a component-based approach dedicated to interactive and dynamic scientific visualization applications and its formalization in strict Colored FIFO Nets (sCFN). The main contributions of this thesis are, first, the definition of a set of tools to model the component’s behaviors and the various application communication policies. Second, providing some properties on the application to guarantee it starts properly. It is done by analyzing and detecting deadlocks. This ensures the liveness throughout the application execution. Finally, we present dynamic reconfiguration of visual analytics applications by adding or removing on the fly of a component without stopping the whole application. This reconfiguration minimizes the number of unavailable services.
|
174 |
Des systèmes à base de composants aux implémentations cadencées par le temps : une approche correcte par conception / From timed component-based systems to time-triggered implementations : a correct-by-design approachGuesmi, Hela 27 October 2017 (has links)
Dans le domaine des systèmes temps-réel embarqués critiques, les méthodes de conception et de spécification et leurs outils associés doivent permettre le développement de systèmes au comportement temporel déterministe et, par conséquent, reproductible afin de garantir leur sûreté de fonctionnement. Pour atteindre cet objectif, on s’intéresse aux méthodologies de développement basées sur le paradigme Time-Triggered (TT). Dans ce contexte, nombre de propriétés et, en particulier, les contraintes temps-réel de-bout-en-bout, se voient satisfaites par construction. Toutefois, garantir la sûreté de fonctionnement de tels systèmes reste un défi. En général, les outils de développement existants n’assurent pas par construction le respect de l’intégralité des spécifications, celles-ci doivent, en général, être vérifiées à posteriori. Avec la complexité croissante des applications embarquées, celle de leur validation à posteriori devient, au mieux, un facteur majeur dans les coûts de développement et, au pire, tout simplement impossible. Il faut, donc, définir une méthode qui, tout en permettant le développement des systèmes corrects par constructions, structure et simplifie le processus de spécification. Les méthodologies de conception de haut niveau à base de composants, qui permettent la conception et la vérification des systèmes temps-réels critiques, présentent une solution ultime pour la structuration et la simplification du processus de spécification de tels systèmes.L’objectif de cette thèse est d'associer la méthodologie BIP (Behaviour-Interaction-Priority) qui est une approche de conception basée sur composants avec la plateforme d'exécution PharOS, qui est un système d'exploitation temps-réel déterministe orienté sûreté de fonctionnement. Le flot de conception proposé dans cette thèse est une approche transformationnelle qui permet de conserver les propriétés fonctionnelles des modèles originaux de BIP. Il est composé essentiellement de deux étapes. La première étape, paramétrée par un mapping de tâche défini par l'utilisateur, permet de transformer un modèle BIP en un modèle plus restreint qui représente une description haut niveau des implémentations basées sur des primitives de communication TT. La deuxième étape permet la génération du code pour la plateforme PharOS à partir de ce modèle restreint.Un ensemble d'outils a été développé dans cette thèse afin d'automatiser la plupart des étapes du flot de conception proposé. Ceci a permis de tester cette approche sur deux cas d'étude industriels ; un simulateur de vol et un relais de protection moyenne tension. Dans les deux applications, on vise à comparer les fonctionnalités du modèle BIP avec celles du modèle intermédiaire et du code généré. On fait varier les stratégies de mapping de tâche dans la première application, afin de tester leur impact sur le code généré. Dans la deuxième application, on étudie l'impact de la transformation sur le code généré en comparant quelques aspects de performance du code générer avec ceux d'une version de l'application qui a été développée manuellement. / In hard real-time embedded systems, design and specification methods and their associated tools must allow development of temporally deterministic systems to ensure their safety. To achieve this goal, we are specifically interested in methodologies based on the Time-Triggered (TT) paradigm. This paradigm allows preserving by construction number of properties, in particular, end-to-end real-time constraints. However, ensuring correctness and safety of such systems remains a challenging task. Existing development tools do not guarantee by construction specification respect. Thus, a-posteriori verification of the application is generally a must. With the increasing complexity of embedded applications, their a-posteriori validation becomes, at best, a major factor in the development costs and, at worst, simply impossible. It is necessary, therefore, to define a method that allows the development of correct-by-construction systems while simplifying the specification process.High-level component-based design frameworks that allow design and verification of hard real-time systems are very good candidates for structuring the specification process as well as verifying the high-level model.The goal of this thesis is to couple a high-level component-based design approach based on the BIP (Behaviour-Interaction-Priority) framework with a safety-oriented real-time execution platform implementing the TT approach (the PharOS Real-Time Operating System). To this end, we propose an automatic transformation process from BIPmodels into applications for the target platform (i.e. PharOS).The process consists in a two-step semantics-preserving transformation. The first step transforms a BIP model coupled to a user-defined task mapping into a restricted one, which lends itself well to an implementation based on TT communication primitives. The second step transforms the resulting model into the TT implementation provided by the PharOS RTOS.We provide a tool-flow that automates most of the steps of the proposed approach and illustrate its use on an industrial case study for a flight Simulator application and a medium voltage protection relay application. In both applications, we compare functionalities of both original, intermediate and final model in order to confirm the correctness of the transformation. For the first application, we study the impact of the task mapping on the generated implementation. And for the second application, we study the impact of the transformation on some performance aspects compared to a manually written version.
|
175 |
[en] BRINGING TOGETHER FLEXIBILITY AND EFFICIENCY IN THE DEVELOPMENT OF THE GINGA-NCL DECLARATIVE ENVIRONMENT / [pt] CONCILIANDO FLEXIBILIDADE E EFICIÊNCIA NO DESENVOLVIMENTO DO AMBIENTE DECLARATIVO GINGA-NCLMARCIO FERREIRA MORENO 24 September 2018 (has links)
[pt] Um sistema de TV Digital (TVD) é definido por um conjunto de especificações que determinam as tecnologias envolvidas na codificação, transmissão, recepção e apresentação de conteúdos, incluindo a especificação da aplicação (programa não-linear), seus vários objetos de mídia e metadados relacionados. Nesse cenário, o suporte a aplicações é realizado por uma camada intermediária de software, ou middleware, posicionada, no ambiente de recepção, entre o código das aplicações e a infra-estrutura de execução (plataforma de hardware e sistema operacional). O projeto e implementação de um middleware
para receptores de sistemas de TVD trazem uma série de desafios. Entre eles estão: a eficiência na utilização de recursos, usualmente escassos no dispositivo receptor; o suporte à evolução dinâmica das funcionalidades do middleware; o suporte à recuperação de falhas em tempo de execução; os mecanismos para gerência de localização de recursos, permitindo o uso da mesma sintaxe de autoria em ambientes distintos de recepção; o suporte a edição ao vivo de programas não lineares, ou seja, das aplicações; a definição de uma infra-estrutura de transporte assíncrono de aplicações interativas e comandos de controle e; o controle do ciclo de vida das aplicações interativas, permitindo que aplicações possam ser iniciadas,
pausadas e retomadas em qualquer ponto de sua duração, sem perder o histórico de sua evolução. As soluções da maioria dessas questões presentes nos sistemas existentes apresentam algumas limitações importantes, e em alguns casos nem mesmo existem, sendo o problema apenas contornado. O presente trabalho propõe soluções alternativas para as questões levantadas, e as incorpora na especificação do middleware declarativo Ginga-NCL e em sua implementação de referência. O middleware Ginga-NCL e sua linguagem declarativa NCL foram adotados pelo SBTVD-T em 2007. No início de 2009, Ginga-NCL e NCL se tornaram parte dos padrões ISDB-TB e parte da recomendação ITU-R BT 1699. Ainda no início de 2009, Ginga-NCL e NCL tornaram-se a Recomendação ITU-T H.761 para serviços IPTV. / [en] Digital TV (DTV) systems are defined by a set of specifications that establish the technologies involved in the content encoding, transmission, reception and presentation, including the specification of applications (non-linear programs), their various related media objects and metadata. In this scenario, support to applications is accomplished through an intermediary software layer, or middleware, positioned, in the receiving environment, between the application code and the execution infrastructure (hardware platform and operating system). The middleware design and implementation bring a number of challenging issues.
Among them are: efficient resource management, since resources are usually scarce in DTV receiver devices; support to dynamic evolution of the middleware functionalities; support to fault recovery at runtime; the mechanisms for resource location management, allowing using the same syntax used in the authoring environment the different receiver environments; support to live editing of nonlinear programs (i.e. applications); the infrastructure definition for the asynchronous transport of interactive applications and control commands; and the life cycle control of interactive applications, allowing applications to be started, paused and resumed at any point in their life duration, without losing their evolution history. Most of these issues are addressed in the existing systems, however with important limitations; some of them are not even addressed, being only treated with workaround tricks. This work proposes alternative solutions to the mentioned issues and incorporates these solutions in the Ginga-NCL declarative middleware specification and in its reference implementation. Ginga- NCL and its declarative NCL language were adopted by SBTVD-T in 2007. In early 2009, Ginga-NCL and NCL have become part of the ISDB-TB standard and part of the ITU-R BT 1699 Recommendation. Even in early 2009, Ginga-NCL and NCL have become the ITU-T H.761 Recommendation for IPTV services.
|
176 |
Coordination modulaire de gestionnaires autonomes par contrôle discret / Modular Coordination of Autonomic Managers Using Discrete ControlGueye, Soguy Mak-Karé 03 December 2014 (has links)
Les systèmes informatiques sont devenus de plus en plus distribués et hétérogènes, ce qui rend leur administration manuelle difficile et source d'erreurs. L'administration autonome a été proposée comme solution à ce problème. Elle consiste à automatiser l'administration des systèmes informatiques à l'aide de boucles de contrôle appelées gestionnaires autonomes. De nombreux travaux de recherche se sont intéressés à l'automatisation des fonctions d'administration de systèmes informatiques et aujourd'hui, beaucoup de gestionnaires autonomes sont disponibles. Toutefois, les gestionnaires autonomes existants sont, la plupart, spécialisés dans la gestion de quelques aspects d'administration. Cela rend nécessaire la coexistence de plusieurs gestionnaires autonomes pour atteindre une gestion globale des systèmes. La coexistence de plusieurs gestionnaires permet la gestion de plusieurs aspects, mais nécessite des mécanismes de coordination afin d'éviter des décisions incohérentes. Nous étudions l'utilisation de techniques de contrôle pour la conception de contrôleurs de coordination, nous utilisons la programmation synchrone qui fournit des méthodes formelles, et la synthèse de contrôleur discret pour automatiser la construction de contrôleur. Nous suivons une approche à base de composants, et utilisons le contrôle discret modulaire qui permet de décomposer la complexité combinatoire inhérente à la technique d'exploration d'espace d'états. Cela améliore le passage à l'échelle de notre approche et permet la construction d'un contrôle hiérarchique. Notre approche permet la réutilisation de gestionnaires complexes dans des contextes différents, sans modifier leurs spécifications de contrôle. Nous construisons une coordination de gestionnaires basée sur le modèle à composants offrant introspection, adaptabilité et reconfiguration. Cette thèse présente notre méthodologie et des études de cas. Nous évaluons et démontrons les avantages de notre approche par la coordination de gestionnaires autonomes dédiés à la gestion de la disponibilité, et à la gestion de la performance et l'optimisation de ressources. / Computing systems have become more and more distributed and heterogeneous, making their manual administration difficult and error-prone. The Autonomic Computing approach has been proposed to overcome this issue, by automating the administration of computing systems with the help of control loops called autonomic managers. Many research works have investigated the automation of the administration functions of computing systems and today many autonomic managers are available. However the existing autonomic managers are mostly specialized in the management of few administration concerns. This makes necessary the coexistence of multiple autonomic managers for achieving a global system management. The coexistence of several managers make possible to address multiple concerns, yet requires coordination mechanisms to avoid incoherent management decisions. We investigate the use of control techniques for the design of coordination controllers, for which we exercise synchronous programming that provide formal semantics, and discrete controller synthesis to automate the construction of the controller. We follow a component-based approach, and explore modular discrete control allowing to break down the combinatorial complexity inherent to the state-space exploration technique. This improves scalability of the approach and allows constructing a hierarchical control. It also allows re-using complex managers in different contexts without modifying their control specifications. We build a component-based coordination of managers, with introspection, adaptivity and reconfiguration. This thesis details our methodology and presents case-studies. We evaluate and demonstrate the benefits of our approach by coordinating autonomic managers which addresse the management of availability, and the management of performance and resources optimization.
|
177 |
Automatic non-functional testing and tuning of configurable generators / Une approche pour le test non-fonctionnel et la configuration automatique des générateursBoussaa, Mohamed 06 September 2017 (has links)
Les techniques émergentes de l’ingénierie dirigée par les modèles et de la programmation générative ont permis la création de plusieurs générateurs (générateurs de code et compilateurs). Ceux-ci sont souvent utilisés afin de faciliter le développement logiciel et automatiser le processus de génération de code à partir des spécifications abstraites. De plus, les générateurs modernes comme les compilateurs C, sont devenus hautement configurables, offrant de nombreuses options de configuration à l'utilisateur de manière à personnaliser facilement le code généré pour la plateforme matérielle cible. Par conséquent, la qualité logicielle est devenue fortement corrélée aux paramètres de configuration ainsi qu'au générateur lui-même. Dans ce contexte, il est devenu indispensable de vérifier le bon comportement des générateurs. Cette thèse établit trois contributions principales : Contribution I: détection automatique des inconsistances dans les familles de générateurs de code : Dans cette contribution, nous abordons le problème de l'oracle dans le domaine du test non-fonctionnel des générateurs de code. La disponibilité de multiples générateurs de code avec des fonctionnalités comparables (c.-à-d. familles de générateurs de code) nous permet d'appliquer l'idée du test métamorphique en définissant des oracles de test de haut-niveau (c.-à-d. relation métamorphique) pour détecter des inconsistances. Une inconsistance est détectée lorsque le code généré présente un comportement inattendu par rapport à toutes les implémentations équivalentes de la même famille. Nous évaluons notre approche en analysant la performance de Haxe, un langage de programmation de haut niveau impliquant un ensemble de générateurs de code multi-plateformes. Les résultats expérimentaux montrent que notre approche est capable de détecter plusieurs inconsistances qui révèlent des problèmes réels dans cette famille de générateurs de code. Contribution II: une approche pour l'auto-configuration des compilateurs. Le grand nombre d'options de compilation des compilateurs nécessite une méthode efficace pour explorer l'espace d’optimisation. Ainsi, nous appliquons, dans cette contribution, une méta-heuristique appelée Novelty Search pour l'exploration de cet espace de recherche. Cette approche aide les utilisateurs à paramétrer automatiquement les compilateurs pour une architecture matérielle cible et pour une métrique non-fonctionnelle spécifique tel que la performance et l'utilisation des ressources. Nous évaluons l'efficacité de notre approche en vérifiant les optimisations fournies par le compilateur GCC. Nos résultats expérimentaux montrent que notre approche permet d'auto-configurer les compilateurs en fonction des besoins de l'utilisateur et de construire des optimisations qui surpassent les niveaux d'optimisation standard. Nous démontrons également que notre approche peut être utilisée pour construire automatiquement des niveaux d'optimisation qui représentent des compromis optimaux entre plusieurs propriétés non-fonctionnelles telles que le temps d'exécution et la consommation des ressources. Contribution III: Un environnement d'exécution léger pour le test et la surveillance de la consommation des ressources des logiciels. Enfin, nous proposons une infrastructure basée sur les micro-services pour assurer le déploiement et la surveillance de la consommation des ressources des différentes variantes du code généré. Cette contribution traite le problème de l'hétérogénéité des plateformes logicielles et matérielles. Nous décrivons une approche qui automatise le processus de génération, compilation, et exécution du code dans le but de faciliter le test et l'auto-configuration des générateurs. Cet environnement isolé repose sur des conteneurs système, comme plateformes d'exécution, pour une surveillance et analyse fine des propriétés liées à l'utilisation des ressources (CPU et mémoire). / Generative software development has paved the way for the creation of multiple generators (code generators and compilers) that serve as a basis for automatically producing code to a broad range of software and hardware platforms. With full automatic code generation, users are able to rapidly synthesize software artifacts for various software platforms. In addition, they can easily customize the generated code for the target hardware platform since modern generators (i.e., C compilers) become highly configurable, offering numerous configuration options that the user can apply. Consequently, the quality of generated software becomes highly correlated to the configuration settings as well as to the generator itself. In this context, it is crucial to verify the correct behavior of generators. Numerous approaches have been proposed to verify the functional outcome of generated code but few of them evaluate the non-functional properties of automatically generated code, namely the performance and resource usage properties. This thesis addresses three problems : (1) Non-functional testing of generators: We benefit from the existence of multiple code generators with comparable functionality (i.e., code generator families) to automatically test the generated code. We leverage the metamorphic testing approach to detect non-functional inconsistencies in code generator families by defining metamorphic relations as test oracles. We define the metamorphic relation as a comparison between the variations of performance and resource usage of code, generated from the same code generator family. We evaluate our approach by analyzing the performance of HAXE, a popular code generator family. Experimental results show that our approach is able to automatically detect several inconsistencies that reveal real issues in this family of code generators. (2) Generators auto-tuning: We exploit the recent advances in search-based software engineering in order to provide an effective approach to tune generators (i.e., through optimizations) according to user's non-functional requirements (i.e., performance and resource usage). We also demonstrate that our approach can be used to automatically construct optimization levels that represent optimal trade-offs between multiple non-functional properties such as execution time and resource usage requirements. We evaluate our approach by verifying the optimizations performed by the GCC compiler. Our experimental results show that our approach is able to auto-tune compilers and construct optimizations that yield to better performance results than standard optimization levels. (3) Handling the diversity of software and hardware platforms in software testing: Running tests and evaluating the resource usage in heterogeneous environments is tedious. To handle this problem, we benefit from the recent advances in lightweight system virtualization, in particular container-based virtualization, in order to offer effective support for automatically deploying, executing, and monitoring code in heterogeneous environment, and collect non-functional metrics (e.g., memory and CPU consumptions). This testing infrastructure serves as a basis for evaluating the experiments conducted in the two first contributions.
|
178 |
Adaptation of SysML Blocks and Verification of Temporal Properties / Adptation des Blocs sysML et verification des propriétés temporellesBouaziz, Hamida 03 November 2016 (has links)
Le travail présenté dans cette thèse a lieu dans le domaine de développement basé sur les composants, il est une contribution à laspécification, l'adaptation et la vérification des systèmes à base de composants. Le but principal de cette thèse est la proposition d'uneapproche formelle pour construire progressivement des systèmes complexes en assemblant et en adaptant un ensemble de composants,où leur structure et leur comportement sont modélisés à l'aide de diagrammes SysML. Dans la première étape, nous avons défini uneapproche basée sur la méta-modélisation et la transformation des modèles pour vérifier la compatibilité des blocs ayant leurs protocolesd'interaction modélisés à l'aide de diagrammes de séquence SysML. Pour vérifier leur compatibilité, nous effectuons une transformationen automates d'interface (IAs), et nous utilisons l'approche optimiste définie sur les IA. Cette approche considère que deux composantssont compatibles s'il existe un environnement approprié avec lequel ils peuvent interagir correctement. Après cela, nous avons proposéde bénéficier de la hiérarchie, qui peut être présente dans les modèles de protocole d'interaction des blocs, pour alléger la vérification dela compatibilité des blocs. Dans l'étape suivante, nous avons pris en considération le problème des incohérences de noms de type one2oneentre les services des blocs. A ce stade, un adaptateur est généré pour un ensemble de blocs réutilisés qui ont leurs protocoles d'interactionmodélisés formellement par des automates d'interface. La génération de l'adaptateur est guidée par la spécification du bloc parent qui estfaite initialement par le concepteur. Notre approche est complétée par une phase de vérification qui nous permet de vérifier les exigencesSysML, exprimées formellement par les propriétés temporelles, sur les blocs SySML. Dans cette phase, nous avons exploité uniquementles adaptateurs générés pour vérifier la préservation des exigences initialement satisfaites par les blocs réutilisés. Ainsi, notre approchea l'intention de donner plus de chance d'éviter le problème de l'explosion de l'espace d'état au moment de la vérification. Dans le mêmecontexte, où nous avons un ensemble de blocs réutilisés et la spécification de leurs blocs parents, nous avons proposé d'utiliser des réseauxde Petri colorés (CPN) pour modéliser les interactions des blocs et générer des adaptateurs qui résolvent plus de types de problèmes. Dansce cas, l'adaptateur peut résoudre le problème de blocage en permettant le ré-ordonnancement des appels de services. / The work presented in this thesis takes place in the component-based development domain, it is a contribution to the specification,adaptation and verification of component-based systems. The main purpose of this thesis is the proposition of a formal approach tobuild incrementally complex systems by assembling and adapting a set of components, where their structure and behaviour are modelledusing SysML diagrams. In the first stage, we have defined a meta-model driven approach which is based on meta-modelling and modelstransformation, to verify the compatibility of blocks having their interaction protocols modelled using SysML sequence diagrams. To verifytheir compatibility, we perform a transformation into interface automata (IAs), and we base on the optimistic approach defined on IAs. Thisapproach consider that two components are compatible if there is a suitable environment with which they can interact correctly. Afterthat, we have proposed to benefit from the hierarchy, that may be present in the interaction protocol models of the blocks, to alleviate theverification of blocks compatibility. In the next stage, we have taken into consideration the problem of names mismatches of type one2onebetween services of blocks. At this stage, an adapter is generated for a set of reused blocks which have their interaction protocols modelledformally by interface automata. The generation of the adapter is guided by the specification of the parent block which is made initiallyby the designer. Our approach is completed by a verification phase which allows us to verify SysML requirements, expressed formallyby temporal properties, on SySML blocks. In this phase, we have exploited only the generated adapters to verify the preservation of therequirements initially satisfied by the reused blocks. Thus, our approach intends to give more chance to avoid the state space explosionproblem during the verification. In the same context, where we have a set of reused blocks and the specification of their parent blocks, wehave proposed to use coloured Petri nets (CPNs) to model the blocks interactions and to generate adapters that solve more type of problems.In this case the adapter can solve the problem of livelock by enabling the reordering of services calls.
|
179 |
Multi-Modal Technology for User Interface Analysis including Mental State Detection and Eye Tracking AnalysisHusseini Orabi, Ahmed January 2017 (has links)
We present a set of easy-to-use methods and tools to analyze human attention, behaviour, and physiological responses. A potential application of our work is evaluating user interfaces being used in a natural manner. Our approach is designed to be scalable and to work remotely on regular personal computers using expensive and noninvasive equipment.
The data sources our tool processes are nonintrusive, and captured from video; i.e. eye tracking, and facial expressions. For video data retrieval, we use a basic webcam. We investigate combinations of observation modalities to detect and extract affective and mental states.
Our tool provides a pipeline-based approach that 1) collects observational, data 2) incorporates and synchronizes the signal modality mentioned above, 3) detects users' affective and mental state, 4) records user interaction with applications and pinpoints the parts of the screen users are looking at, 5) analyzes and visualizes results.
We describe the design, implementation, and validation of a novel multimodal signal fusion engine, Deep Temporal Credence Network (DTCN). The engine uses Deep Neural Networks to provide 1) a generative and probabilistic inference model, and 2) to handle multimodal data such that its performance does not degrade due to the absence of some modalities. We report on the recognition accuracy of basic emotions for each modality. Then, we evaluate our engine in terms of effectiveness of recognizing basic six emotions and six mental states, which are agreeing, concentrating, disagreeing, interested, thinking, and unsure.
Our principal contributions include the implementation of a 1) multimodal signal fusion engine, 2) real time recognition of affective and primary mental states from nonintrusive and inexpensive modality, 3) novel mental state-based visualization techniques, 3D heatmaps, 3D scanpaths, and widget heatmaps that find parts of the user interface where users are perhaps unsure, annoyed, frustrated, or satisfied.
|
180 |
Constructive extensibility of trust worthy component-based systemsOLIVEIRA, José Dihego da Silva 04 March 2016 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2017-07-12T14:15:46Z
No. of bitstreams: 2
license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5)
TESE_JOSE_DIHEGO_DA_SILVA_OLIVEIRA_CIN_UFPE_2016.pdf: 1113539 bytes, checksum: 124effe0f62c8dd44008517c1e0045ee (MD5) / Made available in DSpace on 2017-07-12T14:15:46Z (GMT). No. of bitstreams: 2
license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5)
TESE_JOSE_DIHEGO_DA_SILVA_OLIVEIRA_CIN_UFPE_2016.pdf: 1113539 bytes, checksum: 124effe0f62c8dd44008517c1e0045ee (MD5)
Previous issue date: 2016-03-04 / As computer systems become ubiquitous, the demand for rigorous and compositional development methods increase dramatically. In the component-based model driven development (CB-MDD) approach, complex systems (sometimes intractable by humans) are build from simple elements, called components. To achieve the CB-MDD goals towards becoming a rigorously development discipline, components and composition rules must be formalised. Moreover, as requirements continuously evolve, there must be mechanisms to refine and safely extend component-based systems. The BRIC component model formalises the CB-MDD core concepts and supports a constructive design based on composition rules that preserves behavioural properties, but do not provide support for component model evolution. In this work we propose inheritance and refinement relations for BRIC. We define a congruent semantics for this model that considers component structure and behaviour. We define refinement as a preorder relation, which is monotonic with respect to the BRIC composition rules. We enhance this component model with support for extensibility via inheritance. The proposed relations allow extension of functionality, whilst preserving service conformance, which we define by means of a convergence notion. We also establish an algebraic connection between component extensibility and refinement. As far as we are aware this is the first time componente inheritance relations are developed for a formal and sound CB-MDD approach. We also integrate the aspect-oriented paradigm into BRIC. We contribute with an approach to capture, specify and use aspects to safely evolve component-based systems. We establish that components extended by aspects preserve the proposed convergence relation that guarantees service conformance. Furthermore, we establish a connection between componente inheritance and aspects, presenting inheritance as a mechanism to define families of componentes and aspects to capture orthogonal concerns over them. The practical relevance of the proposed relations is illustrated by three case studies. One is an autonomous healthcare system, which evolve by the addition of new functionalities via inheritance and by the modularisation of its crosscutting concerns in a reusable and maintainable manner with aspects. Another case study is a bank system, whose functionalities are progressively realised and extended by refinement and inheritance, respectively. Finally, we model a P2P system extended by inheritance to reduce the network traffic. / Na medida em que os sistemas computacionais se tornam mais pervasivos, a demanda por métodos de desenvolvimento rigorosos e composicionais cresce dramaticamente. No desenvolvimento baseado em componentes (CB-MDD), sistemas complexos (muitas vezes humanamente intangíveis) são construídos a partir de elementos mais simples, chamados componentes. Para atingir os objetivos desta abordagem na direção de torná-la uma disciplina formal de desenvolvimento, componentes e regras de composição devem ser formalizados. Além disso, considerando que os requisitos de um sistema estão em constante evolução, necessitamos de mecanismos para refinar e estender de forma confiável tais sistemas. O modelo de componentes BRIC formaliza os conceitos chave da abordagem CB-MDD, além de garantir corretude por construção se baseando em regras de composição que preservam propriedades comportamentais. BRIC, porém, por não possuir relações de extensão, não suporta evolução de modelos baseados em componentes. Neste trabalho propomos relações de herança e refinamento para BRIC. Definimos uma semântica congruente que considera tanto a estrutura quanto o comportamento de componentes. Definimos refinamento como uma relação de pré-ordem, a qual é monotônica em relação as regras de composição de BRIC. Estendemos este modelo de componentes com suporte a extensibilidade via herança. As relações propostas permitem extensão de funcionalidade, ao mesmo tempo em que preservam conformidade de serviços, a qual é definida em termos de uma noção de convergência. Estabelecemos também uma conexão algébrica entre extensibilidade de componentes e refinamento. Até onde estamos cientes, este trabalho é pioneiro no desenvolvimento de noções de herança de componentes para uma abordagem CB-MDD formal e consistente. Também integramos o paradigma orientado a aspectos em BRIC. Contribuímos com uma abordagem para capturar, especificar e adotar aspectos no desenvolvimento confiável de sistemas baseados em componentes. Estabelecemos que componentes estendidos por aspectos preservam convergência, o que garante conformidade de serviços. Além disso, desenvolvemos uma conexão entre herança e aspectos, apresentando herança como um mecanismo para definir famílias de componentes e aspectos para capturar conceitos ortogonais sobre as mesmas. Ilustramos a relevância prática das relações propostas através de três estudos de caso. No primeiro, modelamos um sistema autônomo de cuidados médicos, estendido pela adição de novas funcionalidades via herança e pela modularização de conceitos transversais de forma reusável e manutenível via aspectos. Na sequência, modelamos um sistema bancário, cujas funcionalidades são progressivamente implementadas e estendidas pelo uso de herança e refinamento. Finalmente, modelamos um sistema P2P cujo tráfico é reduzido por extensão via herança.
|
Page generated in 0.0984 seconds