123 research outputs found

    Software development process mining: discovery, conformance checking and enhancement

    Get PDF
    Context. Modern software projects require the proper allocation of human, technical and financial resources. Very often, project managers make decisions supported only by their personal experience, intuition or simply by mirroring activities performed by others in similar contexts. Most attempts to avoid such practices use models based on lines of code, cyclomatic complexity or effort estimators, thus commonly supported by software repositories which are known to contain several flaws. Objective. Demonstrate the usefulness of process data and mining methods to enhance the software development practices, by assessing efficiency and unveil unknown process insights, thus contributing to the creation of novel models within the software development analytics realm. Method. We mined the development process fragments of multiple developers in three different scenarios by collecting Integrated Development Environment (IDE) events during their development sessions. Furthermore, we used process and text mining to discovery developers’ workflows and their fingerprints, respectively. Results. We discovered and modeled with good quality developers’ processes during programming sessions based on events extracted from their IDEs. We unveiled insights from coding practices in distinct refactoring tasks, built accurate software complexity forecast models based only on process metrics and setup a method for characterizing coherently developers’ behaviors. The latter may ultimately lead to the creation of a catalog of software development process smells. Conclusions. Our approach is agnostic to programming languages, geographic location or development practices, making it suitable for challenging contexts such as in modern global software development projects using either traditional IDEs or sophisticated low/no code platforms.Contexto. Projetos de software modernos requerem a correta alocação de recursos humanos, técnicos e financeiros. Frequentemente, os gestores de projeto tomam decisões suportadas apenas na sua própria experiência, intuição ou simplesmente espelhando atividades executadas por terceiros em contextos similares. As tentativas para evitar tais práticas baseiam-se em modelos que usam linhas de código, a complexidade ciclomática ou em estimativas de esforço, sendo estes tradicionalmente suportados por repositórios de software conhecidos por conterem várias limitações. Objetivo. Demonstrar a utilidade dos dados de processo e respetivos métodos de análise na melhoria das práticas de desenvolvimento de software, colocando o foco na análise da eficiência e revelando aspetos dos processos até então desconhecidos, contribuindo para a criação de novos modelos no contexto de análises avançadas para o desenvolvimento de software. Método. Explorámos os fragmentos de processo de vários programadores em três cenários diferentes, recolhendo eventos durante as suas sessões de desenvolvimento no IDE. Adicionalmente, usámos métodos de descoberta e análise de processos e texto no sentido de modelar o fluxo de trabalho dos programadores e as suas características individuais, respetivamente. Resultados. Descobrimos e modelámos com boa qualidade os processos dos programadores durante as suas sessões de trabalho, usando eventos provenientes dos seus IDEs. Revelámos factos desconhecidos sobre práticas de refabricação, construímos modelos de previsão da complexidade ciclomática usando apenas métricas de processo e criámos um método para caracterizar coerentemente os comportamentos dos programadores. Este último, pode levar à criação de um catálogo de boas/más práticas no processo de desenvolvimento de software. Conclusões. A nossa abordagem é agnóstica em termos de linguagens de programação, localização geográfica ou prática de desenvolvimento, tornando-a aplicável em contextos complexos tal como em projetos modernos de desenvolvimento global que utilizam tanto os IDEs tradicionais como as atuais e sofisticadas plataformas "low/no code"

    A platform-independent model for agents

    Get PDF
    Various agent-oriented methodologies and metamodels exist to describe multiagent systems ([VIAS) in an abstract manner. Frequently, these frameworks specialize on particular parts of the MAS and only few works have been invested to derive a common standardization. This limits t he impact of agent-related systems in commercial applications. In this paper, we present a metamodel for agent systems that abstract from existing agent-oriented methodologies and platforms and could thus be called platform-independent. This metamodel provides the core language that is used in our agentoriented software development process that conforms to the principles of Model-Driven Developrnent (MDD). Beside the domain-specific modelling language, we further provide two model transformations that allow to transform the generated models into textual code that call be executed with JACK and JADE

    Smart Contract Languages: A Multivocal Mapping Study

    Get PDF
    Blockchain is a disruptive technology that has attracted the attention of the scientific community and compa nies, as proven by the exponential growth of publications on this topic in recent years. This growing interest is mainly due to the promise that the use of blockchain enables it to be verified, without including any trusted intermediaries, that the information received from the network is authentic and up-to-date. In this respect, blockchain is a distributed database that can be seen as a ledger that records all transactions that have ever been executed. In this context, smart contracts are pieces of software used to facilitate, verify, and enforce the negotiation of a transaction on a blockchain platform. These pieces of software are implemented by using programming languages, which are sometimes provided by the blockchain platforms themselves. This study aims to (1) identify and categorise the state-of-the-art related to smart contract languages, in terms of the existing languages and their main features, and (2) identify new research opportunities. The review has been conducted as a multivocal mapping study that followsthe guidelines proposed by Garousi et al. for conducting multivocal literature reviews, as well as the guidelines proposed by Kitchenham and Charters for conducting mapping studies. As a result of the implementation of the review protocol, 4,119 papers were gathered, and 109 of them were selected for extraction. The contributions of this article are twofold: (1) 101 different smart contract languages have been identified and classified according to a variety of criteria; (2) a discussion on the findings and their implications for future research have been outlined. As a conclusion, it could be stated that a rigorous and replicable overview of the state-of-the-art of smart contract languages has been provided that can benefit not only researchers but also practitioners in the field, thanks to its multivocal nature.Ministerio de Ciencia y Tecnología RTI2018-094283-B-C33 (ECLIPSE)Junta de Andalucía COPERNICA (P20-01224)Junta de Andalucía METAMORFOSIS (US-1381375

    Tagungsband Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme 2005

    Get PDF

    Mission Analysis and Design of MECSE Nanosatellite

    Get PDF
    Since the moment humankind started venturing into the realms of space, the problems associated with Radio Frequency (RF) blackout period due to plasma sheath interactions with the spacecraft have been an unsolved issue. During this period, the spacecraft loses all the communication with the control center or satellite including voice, real-time data telemetry and GNSS navigation. Considering that continuous communication during atmospheric re-entry is crucial to ensure safety and accomplishment of manned and unmanned space missions, solutions for the mitigation of RF blackout are of high priority and a requirement for the design of future space vehicles. One solution is the use of an electromagnetic field to manipulate the plasma layer surrounding the vehicle. In this M.Sc. thesis, an innovative CubeSat mission for the manipulation of ionospheric plasma is proposed and designed. MECSE (Magneto/Electro hydrodynamics CubeSat Experiment) aims to confirm in space that the electron density of the plasma layer can be reduced through the generation of an electromagnetic field. From a systems engineering perspective, the early phases of MECSE mission are fully designed (phases 0, A and B1 of ESA’s project lifecycle). Starting with mission characterization, the scientific case is presented and the feasibility of the mission is studied based on tradespace exploration methods. Then, the mission objectives, requirements and figures of merit are defined. The mission analysis is performed considering a reference orbit from a launch survey. In the end, a preliminary design of the spacecraft is presented including the analyses performed for the subsystems, the concept of operations and the definition of system requirements. This M.Sc. thesis also focusses on the study of orbital lifetime predictions for a CubeSat. The impact of using different solar and geomagnetic activity models proposed by standard guidelines is investigated using STK and DRAMA software and compared against historical data from already decayed CubeSats. It is concluded that there are still large deviations between the results provided by different models and that the satellite parameters recommended by the guidelines are not suitable when predicting accurately the orbital lifetime of a CubeSat. The orbital lifetime of MECSE nanosatellite is predicted and the effects of variations in orbital and satellite parameters are evaluated.Desde o começo da aventura da humanidade no espaço que os problemas associados ao período de blackout de comunicações são uma questão por resolver. Durante este período, o veículo espacial perde toda a comunicação com o centro de controlo ou satélite, incluindo voz, dados de telemetria em tempo real e navegação GNSS. Uma vez que a comunicação contínua é um fator crítico para garantir a segurança e o sucesso de missões espaciais tripuladas e não tripuladas, torna-se essencial encontrar soluções para a mitigação do blackout de comunicações. De facto, estas soluções são de extrema importância e já consideradas um requisito no desenvolvimento de futuros veículos espaciais. Uma solução é a utilização de um campo eletromagnético para manipular a camada de plasma que se forma em volta do veículo. Nesta tese de mestrado, uma inovadora missão CubeSat para a manipulação do plasma ionosférico é proposta e projetada. MECSE (Experimento de Magneto/Electro hidrodinâmica em Cubesat) tem o objetivo de provar no espaço que a densidade eletrónica da camada de plasma pode ser reduzida através da geração de um campo eletromagnético. De uma perspetiva de engenharia de sistemas, as fases inicias da missão MECSE são projetadas (fases 0, A e B1 do ciclo de vida da ESA). Começando por uma caracterização da missão, o caso científico é apresentado e a viabilidade da missão é estudada com base em métodos de exploração científica e tecnológica. De seguida, os objetivos de missão, requisitos e figuras de mérito são definidos. A análise de missão é feita considerando uma órbita referência baseada em pesquisa de lançamentos. No fim, um design preliminar do satélite é apresentado incluindo as análises realizadas para os subsistemas, o conceito de operações e a definição dos requisitos de sistema. Esta tese de mestrado foca-se ainda em estudar a previsão do tempo de vida orbital de um CubeSat. O impacto de usar diferentes modelos recomendados pelas diretrizes standard para a atividade solar e geomagnética é investigado usando STK e DRAMA softwares e comparado com dados históricos de CubeSats que já reentraram. É concluído que ainda existem enormes variações nos resultados de diferentes modelos e que os parâmetros de satélite recomendados pelas directrizes não são adequados para prever o tempo de vida orbital com precisão. O tempo de vida do satélite MECSE é previsto e os efeitos de variações em parâmetros orbitais e de satélite são avaliados

    Open Source Software for Train Control Applications and its Architectural Implications

    Get PDF
    This document describes the research results that were obtained from the development of safety-critical software under the principles of open source. Different model-based designs and architectures within the railway control system application domain, including re-usable formalisms for verification \&{} validation, were investigated. The reduction of possible security threats caused by platform or supplier specific adaptations of modelled open-core software was analysed, and a possible solution by the usage of hardware virtualisation, instead of traditional memory management, was elaborated. At core of this work, the development of a graphical domain-specific language for modelling parts of the European Train Control System (ETCS) is presented, which is based on specialised data, control flow formalisms, and language elements derived from the specification document. For a more precise and therefore more appropriate syntax definition for safety-critical systems, the already existing GOPRR meta meta model was extended to the newly developed GOPPRR meta meta model. GOPPRR includes methods for defining constraints by the object constraint language, which supports the definition of static semantics to ensure correct model instances. Parts of the ETCS specification related to the train on-board unit were modelled in a new meta model. To transform the developed model of the ETCS specification into an executable application, a domain framework, according to the new meta model and the corresponding code generator, were designed and implemented, which have implicitly an integrated support for the verification \&{} validation process. To proof the correctness of the modelled specification, the resulting application was executed in a simulative environment to obtain simulation traces. The correspondence of traces to the expected data from the specification document supported the used methods and strategies in this dissertation as proof of concept

    A Value-Driven Framework for Software Architecture

    Get PDF
    Software that is not aligned with the business values of the organization for which it was developed does not entirely fulfill its raison d’etre. Business values represent what is important in a company, or organization, and should influence the overall software system behavior, contributing to the overall success of the organization. However, approaches to derive a software architecture considering the business values exchanged between an organization and its market players are lacking. Our quest is to address this problem and investigate how to derive value-centered architectural models systematically. We used the Technology Research method to address this PhD research question. This methodological approach proposes three steps: problem analysis, innovation, and validation. The problem analysis was performed using systematic studies of the literature to obtain full coverage on the main themes of this work, particularly, business value modeling, software architecture methods, and software architecture derivation methods. Next, the innovation step was accomplished by creating a framework for the derivation of a software reference architecture model considering an organization’s business values. The resulting framework is composed of three core modules: Business Value Modeling, Agile Reference Architecture Modeling, and Goal-Driven SOA Architecture Modeling. While the Business value modeling module focuses on building a stakeholder-centric business specification, the Agile Reference Architecture Modeling and the Goal-Driven SOA Architecture Modeling modules concentrate on generating a software reference architecture aligned with the business value specification. Finally, the validation part of our framework is achieved through proof-of-concept prototypes for three new domain specific languages, case studies, and quasi-experiments, including a family of controlled experiments. The findings from our research show that the complexity and lack of rigor in the existing approaches to represent business values can be addressed by an early requirements specification method that represents the value exchanges of a business. Also, by using sophisticated model-driven engineering techniques (e.g., metamodels, model transformations, and model transformation languages), it was possible to obtain source generators to derive a software architecture model based on early requirements value models, while assuring traceability throughout the architectural derivation process. In conclusion, despite using sophisticated techniques, the derivation process of a software reference architecture is helped by simple to use methods supported by black box transformations and guidelines that facilitate the activities for the less experienced software architects. The experimental validation process used confirmed that our framework is feasible and perceived as easy to use and useful, also indicating that the participants of the experiments intend to use it in the future

    Combining SOA and BPM Technologies for Cross-System Process Automation

    Get PDF
    This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges arising from the transformation

    Multidimensional Context Modeling Applied to Non-Functional Analysis of Software

    Get PDF
    Context awareness is a first-class attribute of today software systems. Indeed, many applications need to be aware of their context in order to adapt their structure and behavior for offering the best quality of service even in case the software and hardware resources are limited. Modeling the context, its evolution, and its influence on the services provided by (possibly resource constrained) applications are becoming primary activities throughout the whole software life cycle, although it is still difficult to capture the multidimensional nature of context. We propose a framework for modeling and reasoning on the context and its evolution along multiple dimensions. Our approach enables (1) the representation of dependencies among heterogeneous context attributes through a formally defined semantics for attribute composition and (2) the stochastic analysis of context evolution. As a result, context can be part of a model-based software development process, and multidimensional context analysis can be used for different purposes, such as non-functional analysis. We demonstrate how certain types of analysis, not feasible with context-agnostic approaches, are enabled in our framework by explicitly representing the interplay between context evolution and non-functional attributes. Such analyses allow the identification of critical aspects or design errors that may not emerge without jointly taking into account multiple context attributes. The framework is shown at work on a case study in the eHealth domain
    corecore