10 research outputs found

    Using Java Csp Solvers in the Automated Analyses of Feature Models

    Get PDF
    Feature Models are used in different stages of software development and are recognized to be an important asset in model transformation techniques and software product line development. The automated analysis of feature models is being recognized as one of the key challenges for automated software development in the context of Software Product Lines. in our previous work we explained how a feature model can be transformed into a constraint satisfaction problem. However cardinalities were not considered. in this paper we present how a cardinality-based feature model can be also translated into a constraint satisfaction problem. in that connection, it is possible to use off-the-shelf tools to automatically accomplish several tasks such as calculating the number of possible feature configurations and detecting possible conflicts. in addition, we present a performance test between two off-the-shelf Java constraint solvers. To the best of our knowledge, this is the first time a performance test is presented using solvers for feature modelling proposesMinisterio de Educación y Ciencia TIC2003-02737-C02-0

    Middleware specialization using aspect oriented programming

    Full text link
    Standardized middleware is used to build large distributed real-time and enterprise (DRE) systems. These middleware are highly flexible and support a large number of features since they have to be applicable to a wide range of domains and applications. This generality and flexibility, however, often causes many performance and footprint overheads par-ticularly for product line architectures, which have a well-defined scope smaller than that of the middleware yet must leverage its benefits, such as reusability. To alleviate this tension thus a key objective is to specialize the middleware, which comprises removing the sources of excessive general-ity while simultaneously optimizing the required features of middleware functionality. To meet this objective this paper describes how we have applied Aspect-Oriented Program-ming (AOP) in a novel manner to address these challenges. Although AOP is primarily used for separation of concerns, we use it to specialize middleware. Aspects are used to se-lect the specific set of features needed by the product line. Aspect weaving is subsequently used to specialize the mid-dleware. This paper describes the key motivation for our research, identifies the challenges developing middleware-based product lines and shows how to resolve those using aspects. The results applying our AOP-based specialization techniques to event demultiplexing middleware for the case of single threaded implementation showed 3 % decrease in latency and 2 % increase in throughput, while in the thread pool implementation showed 4 % decrease in latency and 3% increase in throughput

    Spreadsheet-based Configuration of Families of Real-Time Specifications

    Full text link
    Model checking real-time systems is complex, and requires a careful trade-off between including enough detail to be useful and not too much detail to avoid state explosion. This work exploits variability of the formal model being analysed and the requirements being checked, to facilitate the model-checking of variations of real-time specifications. This work results from the collaboration between academics and Alstom, a railway company with a concrete use-case, in the context of the VALU3S European project. The configuration of the variability of the formal specifications is described in MS Excel spreadsheets with a particular structure, making it easy to use also by developers. These spreadsheets are processed automatically by our prototype tool that generates instances and runs the model checker. We propose the extension of our previous work by exploiting analysis over valid combination of features, while preserving the simplicity of a spreadsheet-based interface with the model checker.Comment: In Proceedings TiCSA 2023, arXiv:2310.1872

    Framework for business web application families development using an ontological model and source code generators

    Get PDF
    Beskonačni ciklus ponovnog programiranja različitih obrazaca i modula poslovnih web aplikacija, na nekoliko različitih projekata, naveo je mnoge programere i istraživače da razmotre mogućnosti daljnje automatizacije njihovog razvoja. Kako bi se malim i srednjim poduzećima omogućila dostupnost poslovnog softvera razvijenog po mjeri, potrebno je smanjiti troškove razvoja, a zadržati ili čak povećati razinu kvalitete. Ponovno iskorištavanje postojećih artefakata i podizanje razine apstrakcije pri razvoju pokazali su se učinkovitim pravcima za automatizaciju proizvodnje obitelji softverskih proizvoda. U ovom istraživanju dizajniran je inovativan okvir za razvoj obitelji poslovnih web aplikacija, temeljen na ontološki potpomognutom, generativnom programiranju. Istraživanje je provedeno prema DSRM (engl. Design Science Research Methodology) metodologiji za provedbu istraživanja temeljenih na dizajnu. Rad započinje sistematskim pregledom literature s ciljem formiranja baze znanja na ovome području, a zatim slijedi faza dizajna i razvoja koja je rezultirala trima artefaktima: ontološkim modelom, generatorima programskog koda i razvojnim okvirom. Primjena dizajniranog razvojnog okvira demonstrirana je na dvjema studijama slučaja, a analiza rezultata pokazala je da okvir osigurava razvoj na visokoj razini apstrakcije, uz osiguranje visoke razine ponovne iskoristivosti ranije korištenih artefakata.The endless cycle of repetitive coding of various forms and business application modules, on several different projects, has led many developers and researchers wonder about the possibilities for further development automation. In order to enable small and medium-sized businesses to purchase custom-made business software, it is necessary to reduce the cost of development, but maintain or even increase the level of quality. Software reuse and higher abstraction levels are historically proven means for automating the production of software product families. This research proposes a framework for the development of business Web application families, based on an ontology-driven, generative programming approach. The research was conducted according to design science research methodology named Design Science Research Methodology. First, a systematic literature review was conducted to constitute a knowledge base in this field. Then, the design and development faze was carried out and it resulted in three artifacts: an ontological model, code generators and a development framework. The application of the designed framework was demonstrated in two case studies. The analysis of the results showed that the framework provides a higher level of abstraction then the classic development approach and provides high level of reusability of previously used artifacts. resulted in three artifacts: an ontological model, code generators and a development framework. The application of the designed framework was demonstrated in two case studies. The analysis of the results showed that the framework provides a higher level of abstraction then the classic development approach and provides high level of reusability of previously used artifacts

    Framework for business web application families development using an ontological model and source code generators

    Get PDF
    Beskonačni ciklus ponovnog programiranja različitih obrazaca i modula poslovnih web aplikacija, na nekoliko različitih projekata, naveo je mnoge programere i istraživače da razmotre mogućnosti daljnje automatizacije njihovog razvoja. Kako bi se malim i srednjim poduzećima omogućila dostupnost poslovnog softvera razvijenog po mjeri, potrebno je smanjiti troškove razvoja, a zadržati ili čak povećati razinu kvalitete. Ponovno iskorištavanje postojećih artefakata i podizanje razine apstrakcije pri razvoju pokazali su se učinkovitim pravcima za automatizaciju proizvodnje obitelji softverskih proizvoda. U ovom istraživanju dizajniran je inovativan okvir za razvoj obitelji poslovnih web aplikacija, temeljen na ontološki potpomognutom, generativnom programiranju. Istraživanje je provedeno prema DSRM (engl. Design Science Research Methodology) metodologiji za provedbu istraživanja temeljenih na dizajnu. Rad započinje sistematskim pregledom literature s ciljem formiranja baze znanja na ovome području, a zatim slijedi faza dizajna i razvoja koja je rezultirala trima artefaktima: ontološkim modelom, generatorima programskog koda i razvojnim okvirom. Primjena dizajniranog razvojnog okvira demonstrirana je na dvjema studijama slučaja, a analiza rezultata pokazala je da okvir osigurava razvoj na visokoj razini apstrakcije, uz osiguranje visoke razine ponovne iskoristivosti ranije korištenih artefakata.The endless cycle of repetitive coding of various forms and business application modules, on several different projects, has led many developers and researchers wonder about the possibilities for further development automation. In order to enable small and medium-sized businesses to purchase custom-made business software, it is necessary to reduce the cost of development, but maintain or even increase the level of quality. Software reuse and higher abstraction levels are historically proven means for automating the production of software product families. This research proposes a framework for the development of business Web application families, based on an ontology-driven, generative programming approach. The research was conducted according to design science research methodology named Design Science Research Methodology. First, a systematic literature review was conducted to constitute a knowledge base in this field. Then, the design and development faze was carried out and it resulted in three artifacts: an ontological model, code generators and a development framework. The application of the designed framework was demonstrated in two case studies. The analysis of the results showed that the framework provides a higher level of abstraction then the classic development approach and provides high level of reusability of previously used artifacts. resulted in three artifacts: an ontological model, code generators and a development framework. The application of the designed framework was demonstrated in two case studies. The analysis of the results showed that the framework provides a higher level of abstraction then the classic development approach and provides high level of reusability of previously used artifacts

    Framework for business web application families development using an ontological model and source code generators

    Get PDF
    Beskonačni ciklus ponovnog programiranja različitih obrazaca i modula poslovnih web aplikacija, na nekoliko različitih projekata, naveo je mnoge programere i istraživače da razmotre mogućnosti daljnje automatizacije njihovog razvoja. Kako bi se malim i srednjim poduzećima omogućila dostupnost poslovnog softvera razvijenog po mjeri, potrebno je smanjiti troškove razvoja, a zadržati ili čak povećati razinu kvalitete. Ponovno iskorištavanje postojećih artefakata i podizanje razine apstrakcije pri razvoju pokazali su se učinkovitim pravcima za automatizaciju proizvodnje obitelji softverskih proizvoda. U ovom istraživanju dizajniran je inovativan okvir za razvoj obitelji poslovnih web aplikacija, temeljen na ontološki potpomognutom, generativnom programiranju. Istraživanje je provedeno prema DSRM (engl. Design Science Research Methodology) metodologiji za provedbu istraživanja temeljenih na dizajnu. Rad započinje sistematskim pregledom literature s ciljem formiranja baze znanja na ovome području, a zatim slijedi faza dizajna i razvoja koja je rezultirala trima artefaktima: ontološkim modelom, generatorima programskog koda i razvojnim okvirom. Primjena dizajniranog razvojnog okvira demonstrirana je na dvjema studijama slučaja, a analiza rezultata pokazala je da okvir osigurava razvoj na visokoj razini apstrakcije, uz osiguranje visoke razine ponovne iskoristivosti ranije korištenih artefakata.The endless cycle of repetitive coding of various forms and business application modules, on several different projects, has led many developers and researchers wonder about the possibilities for further development automation. In order to enable small and medium-sized businesses to purchase custom-made business software, it is necessary to reduce the cost of development, but maintain or even increase the level of quality. Software reuse and higher abstraction levels are historically proven means for automating the production of software product families. This research proposes a framework for the development of business Web application families, based on an ontology-driven, generative programming approach. The research was conducted according to design science research methodology named Design Science Research Methodology. First, a systematic literature review was conducted to constitute a knowledge base in this field. Then, the design and development faze was carried out and it resulted in three artifacts: an ontological model, code generators and a development framework. The application of the designed framework was demonstrated in two case studies. The analysis of the results showed that the framework provides a higher level of abstraction then the classic development approach and provides high level of reusability of previously used artifacts. resulted in three artifacts: an ontological model, code generators and a development framework. The application of the designed framework was demonstrated in two case studies. The analysis of the results showed that the framework provides a higher level of abstraction then the classic development approach and provides high level of reusability of previously used artifacts

    Uma abordagem híbrida para construção de documentação para apoio à instanciação de frameworks

    Get PDF
    Software reuse is one of the major goals in Software Engineering. Frameworks promote the reuse of individual building blocks, but also of system design. Framework instantiation is the construction of an application reusing a framework. This process requires a substantial understanding effort of the framework. So, high quality documentation may be a useful resource to minimize this effort. However, in most cases, appropriate documentation neither exists nor is up-to-date. A hypothesis is that the framework code itself and existing instantiations could provide useful information for new instantiations. However, in this case developers still would have to read large portions of code. The goal of this thesis is to demonstrate the feasibility of constructing relevant documentation for framework instantiation with static and dynamic analysis of the framework itself and pre-existing instantiations. The proposal is presenting the documentation in a cookbook style, where recipes are composed of programming tasks and information about framework elements related to a desired feature. Initially, two preliminary experiments were conducted to evaluate coverage and practical usefulness of the recipe information for developers. Results pointed out the need for some adjustments, but also indicated sufficient and relevant information in recipes. Finally, we performed a robust study, consisting of three experiments with 44 human subjects, and 88 executions of real framework instantiations. We compared the use of cookbooks with the use of traditional framework documentation. The generated cookbooks presented results better or as good as traditional framework documentation, in terms of correctness, time spent and the satisfaction perception of document uses.Tese (Doutorado)Reuso de software é um dos principais objetivos em Engenharia de Software. Frameworks de aplicação promovem a reutilização de blocos de construção, mas também da solução arquitetural para um determinado domínio de aplicação. A criação de uma aplicação reutilizando um framework denomina-se instanciação do framework e requer um esforço substancial de compreensão do mesmo. Uma documentação de alta qualidade pode ser um instrumento útil para minimizar esse esforço. No entanto, na maioria dos casos, a documentação adequada não existe ou não é atualizada. Uma hipótese é que o próprio código fonte do framework e de instâncias existentes poderiam oferecer informação útil para novas instanciações. Contudo, haveria o desafio dos desenvolvedores entenderem quantidade substancial de código fonte. Neste contexto, o objetivo desta tese é demonstrar a viabilidade de construção de documentação relevante para a instanciação de frameworks utilizando análise estática e dinâmica do código fonte do framework e de suas instanciações pré-existentes. A proposta é apresentar tal documentação como um livro de receitas, onde as receitas são compostas de tarefas de programação e informações sobre os elementos do framework associados a uma característica de interesse. Inicialmente, dois estudos preliminares foram realizados para avaliar a cobertura e a utilidade prática das informações contidas nas receitas, os quais mostraram a necessidade de alguns ajustes, mas também indicaram receitas com informações relevantes e cobertura adequada. Por fim, foi conduzido um estudo robusto composto de 3 experimentos envolvendo ao todo 44 sujeitos humanos, com 88 execuções de atividades reais de instanciação de frameworks, onde o uso de livros de receitas foi comparado ao uso de documentações tradicionais dos frameworks. Os livros de receitas gerados semi-automaticamente apresentaram resultados de uso iguais ou melhores, em termos de taxa de acerto, tempo de execução e percepção da satisfação dos usuários, cumprindo os objetivos de pesquisa

    Abstract delta modeling : software product lines and beyond

    Get PDF
    To prevent a large software system from collapsing under its own complexity, its code needs to be well-structured. Ideally we want all code related to a certain feature to be grouped together __called feature modularization__ and code belonging to different features not to mix __ called separation of concerns. But many concerns are known as 'cross-cutting concerns'. By their very nature their implementation needs to be spread around the code base. The software engineering discipline that has the most to gain from those properties is Software Product Line Engineering. It is concerned with the development and maintenance of multiple software systems at the same time, each possessing a different (but often overlapping) set of features. This gives rise to an additional need: The code for a given feature must not only be separated and modular; it also needs to be composable and able to deal gracefully with the presence or absence of other features. This thesis presents Abstract Delta Modeling, a formal framework developed to achieve these goals in software. The thesis is a product of the European HATS project. It formalizes the techniques of delta modeling, the main approach to variability used by HATSAlgorithms and the Foundations of Software technolog
    corecore