814 research outputs found

    Integrating the common variability language with multilanguage annotations for web engineering

    Get PDF
    Web applications development involves managing a high diversity of files and resources like code, pages or style sheets, implemented in different languages. To deal with the automatic generation of custom-made configurations of web applications, industry usually adopts annotation-based approaches even though the majority of studies encourage the use of composition-based approaches to implement Software Product Lines. Recent work tries to combine both approaches to get the complementary benefits. However, technological companies are reticent to adopt new development paradigms such as feature-oriented programming or aspect-oriented programming. Moreover, it is extremely difficult, or even impossible, to apply these programming models to web applications, mainly because of their multilingual nature, since their development involves multiple types of source code (Java, Groovy, JavaScript), templates (HTML, Markdown, XML), style sheet files (CSS and its variants, such as SCSS), and other files (JSON, YML, shell scripts). We propose to use the Common Variability Language as a composition-based approach and integrate annotations to manage fine grained variability of a Software Product Line for web applications. In this paper, we (i) show that existing composition and annotation-based approaches, including some well-known combinations, are not appropriate to model and implement the variability of web applications; and (ii) present a combined approach that effectively integrates annotations into a composition-based approach for web applications. We implement our approach and show its applicability with an industrial real-world system.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech

    A comparison of preschool and elementary school children learning computer science concepts through a multilanguage robot programming platform

    Get PDF
    This paper describes a school intervention to teach fundamental Computer Science (CS) concepts to 3-11 year old students with a multilanguage robot programming platform (using drag and drop, Python and C++ languages) in Argentina. We analyze students´ performance and learning process based on multiple choice test and classroom observations. Data show that all students can intuitively learn sequence, conditional, loops and parameters and that girls performed slightly better than boys. Older students can easily combine these concepts to write a program. The multilanguage platform promotes student spontaneous exploration of more sophisticated CS concepts and languages. These findings imply that introducing CS in mandatory schooling from an inquiry based approach is both achievable and beneficial.Fil: Gómez, Marcos J. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; Argentina.Fil: Benotti, Luciana. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; Argentina.Fil: Benotti, Luciana. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina.Fil: Martínez, Cecilia. Universidad Nacional de Córdoba. Facultad de Filosofía y Humanidades; Argentina.Fil: Martínez, Cecilia. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina.Otras Ciencias de la Computación e Informació

    A Quantitative Study of Java Software Buildability

    Full text link
    Researchers, students and practitioners often encounter a situation when the build process of a third-party software system fails. In this paper, we aim to confirm this observation present mainly as anecdotal evidence so far. Using a virtual environment simulating a programmer's one, we try to fully automatically build target archives from the source code of over 7,200 open source Java projects. We found that more than 38% of builds ended in failure. Build log analysis reveals the largest portion of errors are dependency-related. We also conduct an association study of factors affecting build success

    Combining Multiple Granularity Variability in a Software Product Line Approach for Web Engineering

    Get PDF
    [Abstract] Context: Web engineering involves managing a high diversity of artifacts implemented in different languages and with different levels of granularity. Technological companies usually implement variable artifacts of Software Product Lines (SPLs) using annotations, being reluctant to adopt hybrid, often complex, approaches combining composition and annotations despite their benefits. Objective: This paper proposes a combined approach to support fine and coarse-grained variability for web artifacts. The proposal allows web developers to continue using annotations to handle fine-grained variability for those artifacts whose variability is very difficult to implement with a composition-based approach, but obtaining the advantages of the composition-based approach for the coarse-grained variable artifacts. Methods: A combined approach based on feature modeling that integrates annotations into a generic composition-based approach. We propose the definition of compositional and annotative variation points with custom-defined semantics, which is resolved by a scaffolding-based derivation engine. The approach is evaluated on a real-world web-based SPL by applying a set of variability metrics, as well as discussing its quality criteria in comparison with annotations, compositional, and combined existing approaches. Results: Our approach effectively handles both fine and coarse-grained variability. The mapping between the feature model and the web artifacts promotes the traceability of the features and the uniformity of the variation points regardless of the granularity of the web artifacts. Conclusions: Using well-known techniques of SPLs from an architectural point of view, such as feature modeling, can improve the design and maintenance of variable web artifacts without the need of introducing complex approaches for implementing the underlying variability.The work of the authors from the Universidad de Málaga is supported by the projects Magic P12-TIC1814 (post-doctoral research grant), MEDEA RTI2018-099213-B-I00 (co-financed by FEDER funds), Rhea P18-FR-1081 (MCI/AEI/FEDER, UE), LEIA UMA18-FEDERIA-157, TASOVA MCIU-AEI TIN2017-90644-REDT and, European Union’s H2020 research and innovation program under grant agreement DAEMON 101017109. The work of the authors from the Universidade da Coruña has been funded by MCIN/AEI/10.13039/501100011033, NextGenerationEU/PRTR, FLATCITY-POC: PDC2021-121239-C31 ; MCIN/AEI/10.13039/501100011033 EXTRACompact: PID2020-114635RB-I00 ; GAIN/Xunta de Galicia/ERDF CEDCOVID: COV20/00604 ; Xunta de Galicia/FEDER-UE GRC: ED431C 2021/53 ; MICIU/FEDER-UE BIZDEVOPSGLOBAL: RTI-2018-098309-B-C32 ; MCIN/AEI/10.13039/501100011033 MAGIST: PID2019-105221RB-C41Junta de Andalucía; P12-TIC-1814Universidad de Málaga; UMA18-FEDERIA-157Xunta de Galicia; COV20/00604Xunta de Galicia; ED431C 2021/53Junta de Andalucía; P18-FR-108

    Multi Language Interpreter Embedding Tool for Shift Left Pre-Silicon Validation

    Get PDF
    Throughout the years, digital and analog designs have evolved meaningfully towards performance improvement, cost reduction and new features enablement. As a result, complexity has increased rapidly, demanding the development of better validation techniques in order to meet the time-to-market pressure calls with a bug free device. The primary choice of silicon development companies to validate software before the hardware becomes available, until now, is the FPGA based emulation platform, which leads to a big gap as it loads a register transfer level code that is usually not validated with SW-like flows in the early development stages. SW flows, mainly drivers, are validated in parallel to HW on SW emulation platforms. In order to fill the validation gap and push the finding of certain bugs to an earlier development stage, the idea of running SW tests with no or little modification in simulation environments would represent a big return of investment, rising the reliability of the system before manufacturing it, reducing time to market and development cost of the system on chip. This thesis explains the complete development of a framework able to run python scripts in VCS simulation by implementing the OVM Multi Language capability

    Сборочное программирование. Теория и практика

    No full text
    Викладено методи, засоби й інструменти збірного програмування. Розглянуто фундаментальні основи збірки різномовних об’єктів у мовах четвертого покоління в ряді систем у середовищі ОС ЄС. Показано нові підходи до формального опису і стандартизації типів даних у сучасних мовах, а також практичні аспекти систематизації готових об’єктів для їхнього повторного використання в зборці великих систем у сучасних середовищах. Наведено нові ідеї і підходи до забезпечення взаємодії різномовних об’єктів у середовищі сімейств програмних систем.The methods, means, and tools of compositional programming are outlined. The fundamentals of the composition of multilanguage objects in fourth-generation languages in systems of OS ES environment are considered. New approaches to formal declaration and standardization of data types in modern languages and practical aspects of the systematization of ready objects for their reuse to compose large systems in modern environments are shown. New ideas and approaches to the interaction of multilanguage objects in an environment of a family of application systems are described

    Evaluation of existing resources (study/analysis)

    Get PDF
    Within TACCLE 3 – Coding European Union Erasmus+ KA2 Programme project, a review and evaluation of a set of resources that can contribute to teaching programming to younger children has made. This document represents the TACCLE 3 O4 deliverable entitled “Evaluation of existing resources (study/analysis)”
    corecore