168 research outputs found

    Aspect composition for multiple target languages using LARA

    Get PDF
    Usually, Aspect-Oriented Programming (AOP) languages are an extension of a specific target programming language (e.g., Aspect J for JAVA and Aspect C++ for C++). Although providing AOP support with target language extensions may ease the adoption of an approach, it may impose constraints related with constructs and semantics. Furthermore, by tightly coupling the AOP language to the target language the reuse potential of many aspects, especially the ones regarding non-functional requirements, is lost. LARA is a domain-specific language inspired by AOP concepts, having the specification of source-to-source transformations as one of its main goals. LARA has been designed to be, as much as possible, independent of the target language and to provide constructs and semantics that ease the definition of concerns, especially related to non-functional requirements. In this paper, we propose techniques to overcome some of the challenges presented by a multilanguage approach to AOP of cross-cutting concerns focused on non-functional requirements and applied through the use of a weaving process. The techniques mainly focus on providing well-defined library interfaces that can have concrete implementations for each supported target language. The developer uses an agnostic interface and the weaver provides a specific implementation for the target language. We evaluate our approach using 8 concerns with varying levels of language agnosticism that support 4 target languages (C, C++, JAVA and MATLAB) and show that the proposed techniques contribute to more concise LARA aspects, high reuse of aspects, and to significant effort reductions when developing weavers for new imperative, object-oriented programming languages

    Software product line engineering: a practical experience

    Get PDF
    The lack of mature tool support is one of the main reasons that make the industry to be reluctant to adopt Software Product Line (SPL) approaches. A number of systematic literature reviews exist that identify the main characteristics offered by existing tools and the SPL phases in which they can be applied. However, these reviews do not really help to understand if those tools are offering what is really needed to apply SPLs to complex projects. These studies are mainly based on information extracted from the tool documentation or published papers. In this paper, we follow a different approach, in which we firstly identify those characteristics that are currently essential for the development of an SPL, and secondly analyze whether the tools provide or not support for those characteristics. We focus on those tools that satisfy certain selection criteria (e.g., they can be downloaded and are ready to be used). The paper presents a state of practice with the availability and usability of the existing tools for SPL, and defines different roadmaps that allow carrying out a complete SPL process with the existing tool support.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech. Magic P12-TIC1814, HADAS TIN2015-64841-R (cofinanciado con fondos FEDER), MEDEA RTI2018-099213-B-I00 (cofinanciado con fondos FEDER), TASOVA MCIU-AEI TIN2017-90644-RED

    Un modelo para documentar la elicitación de requisitos

    Get PDF
    Context: This work proposes a model to document the elicitation of requirements in the field of Requirements Engineering. Method: A systematic review of the literature was conducted to determine the validity and effectiveness of the existing models for documenting requirements elicitation. Results: By analyzing the results of this review, it was concluded that it is possible – and that is required – to take the best documented practices and add principles from logic, abstraction, and formal methods to them in order to structure a semi-formal model for documenting elicitation. Those currently proposed focus on techniques to collect information and pay little attention to documentation. In addition, these models are mainly based on natural language, which makes their interpretation difficult, and they generate re-processing in later stages of the life cycle due to ambiguities. Conclusions: This article describes a structured model, as well as its application and validation, by comparing it against five models found in the review.Contexto: En este trabajo se propone un modelo para documentar la elicitación de requisitos en el área de Ingeniería de Requisitos. Método: Se realizó una revisión sistemática de la literatura para determinar la validez y efectividad de los modelos que existen para documentar la elicitación de requisitos. Resultados: Analizando los resultados de esta revisión, se concluyó que es posible –y así se requiere– tomar las mejores prácticas documentadas y agregarles principios de lógica, abstracción y métodos formales para estructurar un modelo semiformal para documentar la elicitación. Los que se proponen actualmente se centran en las técnicas de recogida de información y prestan poca atención a la documentación. Además, estos modelos se basan principalmente en el lenguaje natural, por lo cual es difícil su interpretación, y generan reprocesos para las etapas posteriores del ciclo de vida debido a las ambigüedades. Conclusiones: En este artículo se describe un modelo estructurado, así como su aplicación y validación mediante la comparación con cinco modelos encontrados en la revisión

    Beyond Traditional Teaching: The Potential of Large Language Models and Chatbots in Graduate Engineering Education

    Full text link
    In the rapidly evolving landscape of education, digital technologies have repeatedly disrupted traditional pedagogical methods. This paper explores the latest of these disruptions: the potential integration of large language models (LLMs) and chatbots into graduate engineering education. We begin by tracing historical and technological disruptions to provide context and then introduce key terms such as machine learning and deep learning and the underlying mechanisms of recent advancements, namely attention/transformer models and graphics processing units. The heart of our investigation lies in the application of an LLM-based chatbot in a graduate fluid mechanics course. We developed a question bank from the course material and assessed the chatbot's ability to provide accurate, insightful responses. The results are encouraging, demonstrating not only the bot's ability to effectively answer complex questions but also the potential advantages of chatbot usage in the classroom, such as the promotion of self-paced learning, the provision of instantaneous feedback, and the reduction of instructors' workload. The study also examines the transformative effect of intelligent prompting on enhancing the chatbot's performance. Furthermore, we demonstrate how powerful plugins like Wolfram Alpha for mathematical problem-solving and code interpretation can significantly extend the chatbot's capabilities, transforming it into a comprehensive educational tool. While acknowledging the challenges and ethical implications surrounding the use of such AI models in education, we advocate for a balanced approach. The use of LLMs and chatbots in graduate education can be greatly beneficial but requires ongoing evaluation and adaptation to ensure ethical and efficient use.Comment: 44 pages, 16 figures, preprint for PLOS ON

    Design and testing methodologies for signal processing systems using DICE

    Get PDF
    The design and integration of embedded systems in heterogeneous programming environments is still largely done in an ad hoc fashion making the overall development process more complicated, tedious and error-prone. In this work, we propose enhancements to existing design flows that utilize model-based design to verify cross-platform correctness of individual actors. The DSPCAD Integrative Command Line Environment (DICE) is a realization of managing these enhancements. We demonstrate this design flow with two case studies. By using DICE's novel test framework on modules of a triggering system in the Large Hadron Collider, we demonstrate how the cross-platform model-based approach, automatic testbench creation and integration of testing in the design process alleviate the rigors of developing such a complex digital system. The second case study is an exploration study into the required precision for eigenvalue decomposition using the Jacobi algorithm. This case study is a demonstration of the use of dataflow modeling in early stage application exploration and the use of DICE in the overall design flow

    Modelom vođena softverska arhitektura za upravljanje metapodacima obrazovnih resursa

    Get PDF
    Purpose – The purpose of the research is to enable dynamic customization of metadata that describe educational resources in digital repositories.   Design/methodology/approach – Users need to describe educational resources in digital repositories according to the user-specific metadata set. Since users are mostly unskilled to customize the software application manually, our approach relies on the techniques of the model-driven software engineering, which should allow customization of the software application programmatically with no need to develop or order a new software application. In order to verify the proposed solution, we conducted an experiment which evaluated its characteristics.   Findings – A software platform for managing educational resources described by dynamically extendable metadata is proposed. The platform enables creating data models which are programmatically transformed to the web application for the management of educational resources. In this way a user can create their own model of metadata that is relevant in a particular domain. Research limitations / implications – The solution has been verified by users with technical knowledge. We should still explore the appropriateness of the platform for domain experts with little technical knowledge who would define new metadata in their domain. Practical implications – The solution can be used for digital repositories that store diverse educational resources. Each resource could be described using metadata that relates to the domain the resource belongs to. Originality/value – Digital repositories standardly describe educational resources using some general metadata, which are more focused on the physical characteristics of resources rather than their semantics. The proposed solution introduces custom domain-specific semantics into the resources’ description, which improves their retrieval.Cilj – Cilj disertacije je da se omogući dinamičko prilagođavanje metapodataka koji opisuju obrazovne resurse u digitalnim repozitorijumima. Metodologija - Postoji potreba da se u digitalnim repozitorijumima obrazovni resursi opišu putem skupa metapodataka koji je specifičan za određenog korisnika ili domen. Obzirom da korisnici ne mogu samostalno da ručno vrše izmenu softverske aplikacije, pristup predložen u ovoj disertaciji se zasniva na tehnikama modelom vođenog razvoja softvera, koji treba da omogući prilagođavanje softverske aplikacije programski, bez potrebe za razvojem ili naručivanjem nove aplikacije. Da bi se predloženo rešenje verifikovalo, sproveden je eksperiment koji evaluira njegove karakteristike. Rezultati - U disertaciji je predložena softverska platforma za upravljanje obrazovnim resursima opisanim dinamički proširivim skupom metapodataka. Platforma omogućuje kreiranje modela podataka koji se programski transformišu u veb aplikaciju za upravljanje obrazovnim resursima. Na ovaj način, korisnik može da kreira sopstveni model metapodataka koji je odgovarajući u određenom domenu. Ograničenja istraživanja/implikacije – Rešenje verifikovano od strane korisnicima sa određenim tehničkim znanjem. Potrebno je istražiti prikladnost platforme za domenske eksperte sa ograničenim tehničkim znanjem, koji treba da definišu nove skupove metapodataka u svom domenu. Praktične implikacije – Rešenje se može koristiti u digitalnim repozitorijuma koji skladište raznolike obrazovne resurse. Svaki resurs može biti opisan koristeći metapodatke iz domena kojem resurs pripada. Originalnost/vrednost - Digitalni repozitorijumi standardno opisuju obrazovne resurse koristeći neki generalni skup metapodataka, koji je više fokusiran na fizičke karakteristike resursa, umesto na njihovo značenje. Predloženo rešenje uvodi proizvoljnu domenski-zavisnu semantiku u opis resursa, čime se unapređuje njihovo dobavljanje

    GAMESPECT: A Composition Framework and Meta-Level Domain Specific Aspect Language for Unreal Engine 4

    Get PDF
    Game engine programming involves a great number of software components, many of which perform similar tasks; for example, memory allocation must take place in the renderer as well as in the creation routines while other tasks such as error logging must take place everywhere. One area of all games which is critical to the success of the game is that of game balance and tuning. These balancing initiatives cut across all areas of code from the player and AI to the mission manager. In computer science, we’ve come to call these types of concerns “cross cutting”. Aspect oriented programming was developed, in part, to solve the problems of cross cutting: employing “advice” which can be incorporated across different pieces of functionality. Yet, despite the prevalence of a solution, very little work has been done to bring cross cutting to game engine programming. Additionally, the discipline involves a heavy amount of code rewriting and reuse while simultaneously relying on many common design patterns that are copied from one project to another. In the case of game balance, the code may be wildly different across two different games despite the fact that similar tasks are being done. These two problems are exacerbated by the fact that almost every game engine has its own custom DSL (domain specific language) unique to that situation. If a DSL could showcase the areas of cross cutting concerns while highlighting the ability to capture design patterns that can be used across games, significant productivity savings could be achieved while simultaneously creating a common thread for discussion of shared problems within the domain. This dissertation sought to do exactly that- create a metalanguage called GAMESPECT which supports multiple styles of DSLs while bringing aspect-oriented programming into the DSL’s to make them DSAL (domain specific aspect languages). The example cross cutting concern was game balance and tuning since it’s so pervasive and important to gaming. We have created GAMESPECT as a language and a composition framework which can assist engine developers and game designers in balancing their games, forming one central place for game balancing concerns even while these concerns may cross different languages and locations inside the source code. Generality was measured by showcasing the composition specifications in multiple contexts and languages. In addition to evaluating generality and performance metrics, effectiveness was be measured. Specifically, comparisons were made between a balancing initiative when performed with GAMESPECT vs a traditional methodology. In doing so, this work shows a clear advantage to using a Metalanguage such as GAMESPECT for this task. In general, a line of code reduction of 9-40% per task was achieved with negligible effects to performance. The use of a metalanguage in Unreal Engine 4 is a starting point to further discussions concerning other game engines. In addition, this work has implications beyond video game programming. The work described highlights benefits which might be achieved in other disciplines where design pattern implementations and cross-cutting concern usage is high; the real time simulation field and the field of Windows GUI programming are two examples of future domains

    Smart cities: event everywhere

    Get PDF
    The research attempts to provide a big picture from the literature through a Systematic Literature Review about the smart city and the existing standards topics for interchanging data through Smart City Apps. Additionally a prototype was created to analyze one of the standards found in the SL

    A methodology for the design of application-specific cyber-physical social sensing co-simulators

    Get PDF
    Cyber-Physical Social Sensing (CPSS) is a new trend in the context of pervasive sensing. In these new systems, various domains coexist in time, evolve together and influence each other. Thus, application-specific tools are necessary for specifying and validating designs and simulating systems. However, nowadays, different tools are employed to simulate each domain independently. Mainly, the cause of the lack of co-simulation instruments to simulate all domains together is the extreme difficulty of combining and synchronizing various tools. In order to reduce that difficulty, an adequate architecture for the final co-simulator must be selected. Therefore, in this paper the authors investigate and propose a methodology for the design of CPSS co-simulation tools. The paper describes the four steps that software architects should follow in order to design the most adequate co-simulator for a certain application, considering the final users’ needs and requirements and various additional factors such as the development team’s experience. Moreover, the first practical use case of the proposed methodology is provided. An experimental validation is also included in order to evaluate the performing of the proposed co-simulator and to determine the correctness of the proposal
    corecore