37 research outputs found

    Gérer les informations temporelles dans et par les modèles informatiques

    No full text
    International audienceTemporal information proves to be prominent in many scientific problems. As regards Geography, temporal concerns are often in long or mean term interaction with spatial aspects and calendar issues. Practical and theoretical approaches necessarily cross-reference various viewpoints from several scientific communities. The use of formal models is a means to make languages and practices more accurate and efficient, hence leading to more efficiency (consistency, correction, reusability…). The will to access larger, more and more complex and heterogeneous pieces of information, leads to master the way to populate and query data warehouses and knowledge bases. With several paradigms, computer science, provides models which can express and help solving many current and forthcoming problems. This paper gives an overview of the state of art in the matter of temporal modelling, accompanied with some meta-model instances and some insight into practical applications.Les informations temporelles jouent un rôle important dans une grande majorité de problèmes scientifiques. En géographie, l'interaction avec les aspects spatiaux et la référence à des calendriers sur de longues périodes est fréquente. Les approches théoriques ou expérimentales croisent nécessairement différents points de vue de plusieurs communautés scientifiques. Pour préciser et unifier les langages et les pratiques, l'utilisation systématique de modèles plus ou moins formels est une garantie d'efficacité (cohérence, correction, réutilisation, etc.). L'accès à des masses toujours plus importantes d'informations complexes et hétérogènes, la volonté de capitalisation des résultats nécessitent le peuplement et l'interrogation d'entrepôts de données et de bases de connaissance. L'informatique produit des modèles qui permettent de formuler et de résoudre un grand nombre de questions en la matière. Le présent article donne un état de l'art sur le sujet ainsi que des exemples de modèles assortis de références à des travaux applicatifs

    Mutation Testing Advances: An Analysis and Survey

    Get PDF

    Actes des Sixièmes journées nationales du Groupement De Recherche CNRS du Génie de la Programmation et du Logiciel

    Get PDF
    National audienceCe document contient les actes des Sixièmes journées nationales du Groupement De Recherche CNRS du Génie de la Programmation et du Logiciel (GDR GPL) s'étant déroulées au CNAM à Paris du 11 au 13 juin 2014. Les contributions présentées dans ce document ont été sélectionnées par les différents groupes de travail du GDR. Il s'agit de résumés, de nouvelles versions, de posters et de démonstrations qui correspondent à des travaux qui ont déjà été validés par les comités de programmes d'autres conférences et revues et dont les droits appartiennent exclusivement à leurs auteurs

    ComPOS - a Domain-Specific Language for Composing Internet-of-Things Systems

    Get PDF
    Internet-of-Things (IoT) systems consist of spatially distributed interacting devices. In contrast to desktop applications, IoT systems are always running and need to deal with unresponsive devices and weak connectivity. In this thesis, we propose techniques for simplifying the development of such systems. The work addresses IoT systems organised as reusable services connected by compositions. We propose to program such compositions using stateful reactions that mediate messages. To this end, we have designed a domain-specific language (DSL), called ComPOS. To help systems operate partly in cases of weak connectivity, we propose that ComPOS aborts older reactions when newer messages arrive. We evaluate our DSL in home-automation and e-health scenarios. Understanding IoT systems can be hard, and different analyses can help explain how they work. To support analysis, we propose a conceptual runtime model based on relational reference attribute grammars. We demonstrate the approach by formulating and implementing a Device Dependency Analysis (DDA). The DDA finds sets of devices needed for given parts of the system to work. The ComPOS editor supports live programming to allow development while the system is running. We propose a methodology for live ComPOS programming which divides the development into three, iteratively applied, phases: finding services (explore), composing services (assemble), and abstracting compositions as new services (expose). When developing a DSL, it takes substantial effort to specify the syntax and semantics, to build tools like editors, and to integrate with the environment (in this case the underlying middleware). To reduce the effort needed to experiment with ComPOS, we have created a tool called Jatte. Jatte is a generic projectional editor that developers can tune using attribute grammars. We used Jatte to implement the ComPOS editor

    Understanding, Analysis, and Handling of Software Architecture Erosion

    Get PDF
    Architecture erosion occurs when a software system's implemented architecture diverges from the intended architecture over time. Studies show erosion impacts development, maintenance, and evolution since it accumulates imperceptibly. Identifying early symptoms like architectural smells enables managing erosion through refactoring. However, research lacks comprehensive understanding of erosion, unclear which symptoms are most common, and lacks detection methods. This thesis establishes an erosion landscape, investigates symptoms, and proposes identification approaches. A mapping study covers erosion definitions, symptoms, causes, and consequences. Key findings: 1) "Architecture erosion" is the most used term, with four perspectives on definitions and respective symptom types. 2) Technical and non-technical reasons contribute to erosion, negatively impacting quality attributes. Practitioners can advocate addressing erosion to prevent failures. 3) Detection and correction approaches are categorized, with consistency and evolution-based approaches commonly mentioned.An empirical study explores practitioner perspectives through communities, surveys, and interviews. Findings reveal associated practices like code review and tools identify symptoms, while collected measures address erosion during implementation. Studying code review comments analyzes erosion in practice. One study reveals architectural violations, duplicate functionality, and cyclic dependencies are most frequent. Symptoms decreased over time, indicating increased stability. Most were addressed after review. A second study explores violation symptoms in four projects, identifying 10 categories. Refactoring and removing code address most violations, while some are disregarded.Machine learning classifiers using pre-trained word embeddings identify violation symptoms from code reviews. Key findings: 1) SVM with word2vec achieved highest performance. 2) fastText embeddings worked well. 3) 200-dimensional embeddings outperformed 100/300-dimensional. 4) Ensemble classifier improved performance. 5) Practitioners found results valuable, confirming potential.An automated recommendation system identifies qualified reviewers for violations using similarity detection on file paths and comments. Experiments show common methods perform well, outperforming a baseline approach. Sampling techniques impact recommendation performance

    User-centric product derivation in software product lines

    Get PDF
    Software Product Line (SPL) engineering aims at achieving efficient development of software products in a specific domain. New products are obtained via a process which entails creating a new configuration specifying the desired product’s features. This configuration must necessarily conform to a variability model, that describes the scope of the SPL, or else it is not viable. To ensure this, configuration tools are used that do not allow invalid configurations to be expressed. A different concern, however, is making sure that a product addresses the stakeholders’ needs as best as possible. The stakeholders may not be experts on the domain, so they may have unrealistic expectations. Also, the scope of the SPL is determined not only by the domain but also by limitations of the development platforms. It is therefore possible that the desired set of features goes beyond what is possible to currently create with the SPL. This means that configuration tools should provide support not only for creating valid products, but also for improving satisfaction of user concerns. We address this goal by providing a user-centric configuration process that offers suggestions during the configuration process, based on the use of soft constraints, and identifying and explaining potential conflicts that may arise. Suggestions help mitigating stakeholder uncertainty and poor domain knowledge, by helping them address well known and desirable domain-related concerns. On the other hand, automated conflict identification and explanation helps the stakeholders to understand the trade-offs required for realizing their vision, allowing informed resolution of conflicts. Additionally, we propose a prototype-based approach to configuration, that addresses the order-dependency issues by allowing the complete (or partial) specification of the features in a single step. A subsequent resolution process will then identify possible repairs, or trade-offs, that may be required for viabilization

    Contribution à la gestion de l'évolution des processus métiers

    Get PDF
    La gestion de l'évolution des processus métier exige une compréhension approfondie des cause des changements, de leurs niveaux d'application ainsi que de leurs impacts sur le reste du système. Dans cette thèse, nous proposons une approche de gestion et de contrôle de l'éolution des processus métier permettant d'analyser ces changements et de comprendre leurs impacts. Cela assistera les concepteurs et les chargés de l'évolution des processus métier à établir une évaluation a priori de l'impact pour réduire les risques et les coûts liés à ces changements et d'améliorer le service et la qualité des processus métier. Ce travail consiste à proposer un ensemble de contributions permettant une vérification de la cohérence et de la conformité des modèles de processus métier après chaque changement, mais aussi d'établir une éaluation a priori de l'impact structurel et qualificatif des modifications. Les différentes approches proposées sont en cours d'expérimentation et de validation à travers le développement d'une plate-forme basée sur l'environnement EclipseThe evolution management of the business processes requires an exhaustive understanding of the change. An evolution engineer needs to understand reasons of a change, its application levels, and subsequently its impact on the whole system. In this thesis, we propose an approach for an a priori change impact analysis, to better control the business process evolution. This may help the business experts and the process designers to evaluate change impact in order to reduce the associated risks and estimate the related costs. It may also help to improve the service and quality of the business processes. This work contributes an eventual improvement, in regard, to verify the coherence and the compliance of the business process models, after each change. It leads to evaluate an a priori change impact analysis in structural and qualitatie aspects. The multiple-perspectives of the proposed approach have been reviewed experimentally. The validation of the approach is evaluated by exteding the Eclipse Development Environment, with the help of a set of plug-ins, as a prototype plate-form.DUNKERQUE-SCD-Bib.electronique (591839901) / SudocSudocFranceF

    Problèmes de santé des écosystèmes logiciels ouverts : une étude exploratoire auprès d'experts de la pratique

    Get PDF
    Aujourd’hui, les logiciels libres ou open source sont de plus en plus utilisés et peuvent servir dans certains cas de base de développement de logiciels « non libres » ou propriétaires. Le noyau Linux est utilisé par exemple pour aider dans le développement de plusieurs plateformes et logiciels comme Windows et iOS. Le succès des logiciels open source émane du fait que, contrairement aux logiciels propriétaires, les logiciels open source sont développés dans des projets qui s’appuient sur des communautés. Les projets et leurs communautés sont compris dans des environnements plus larges appelés écosystème logiciel ouvert (ECLOO). Toutefois, ces ECLOOs font face à de nombreuses difficultés pouvant nuire à leur santé ou leur bonne marche. Le projet SECOHealth a été initié dans le but de comprendre la santé des écosystèmes logiciels afin de proposer des catalogues de lignes directrices et des outils de recommandation pour pouvoir mesurer et contrôler cette santé. La recherche décrite dans ce document est une partie du projet SECOHealth. Cette recherche a pour objectif de mieux appréhender la santé des ECLOOs pour pouvoir mesurer et contrôler cette santé. Pour ce faire, nous répondrons aux trois questions de recherche suivantes : 1. Quels sont les principaux problèmes auxquels font face les ECLOOs? 2. Quelles sont les principales causes de ces problèmes? 3. Quels sont les principaux impacts de ces problèmes? Pour répondre à ces questions, nous avons mené des entrevues individuelles auprès de dix experts évoluant dans les ECLOOs. L’analyse des données recueillies nous a permis de construire les diagrammes d’analyse causale sur la base de chaque entrevue, ainsi que les chaînes causales des principaux problèmes observés. Les résultats montrent que les principaux problèmes de santé observés, leurs causes et impacts relèvent aussi bien du domaine technique que de domaines non-techniques tel la gestion.Nowadays, open source software are increasingly used and can become in some cases the basis to develop commercial or proprietary software. For example, the Linux kernel is used in developing several platforms and software like Windows and iOS. The success of open source software stems from the fact that, unlike proprietary software, open source software are developed in projects that rely on communities. Projects and their communities are included in broader environments called open source software ecosystems (OSSECOs). However, these OSSECOs face many difficulties that can affect their health or their proper functioning. The SECOHealth project was initiated with the aim of understanding the health of software ecosystems in order to propose catalogs of guidelines and recommendation tools for measuring and controlling this health. The research described in this document is part of the SECOHealth project. This research aims to better understand the health of open software ecosystems in order to be able to measure and control it. To do this, we will answer the following three research questions: 1. What are the main problems facing OSSECOs? 2. What are the main causes of these problems? 3. What are the main impacts of these problems? To answer these questions, we conducted one-on-one interviews with ten experts in OSSECOs. Analysis of the data collected allowed us to construct the causal analysis diagrams and the causal chains of the main problems observed. The results show that the main health problems, their causes and their impacts fall within the technical domain as well as non-technical domains such as the management
    corecore