17 research outputs found

    Optimizing molecular dynamics simulations with product lines

    Get PDF
    This paper presents a case study of using product-lines to address the variability of optimization methods and target platform mappings in high-performance molecular dynamics simulations. We use Feature Oriented Programming to incrementally extend the base algorithm by composing performance enhancement features with the core functionality. Developed features encapsulate common optimization methods in molecular dynamics simulations and target platform mappings. The main benefits of the approach are: 1) it promotes an incremental development, where optimizations and mappings are developed incrementally and simultaneously with the core functionality; 2) complex optimizations and mappings can be obtained by composing basic features. The performance of synthesized products is comparable to the performance of products developed with traditional parallel programming techniques. In this approach complex optimizations become easier to develop, by composing basic features, providing a performance advantage over traditional programming techniques.(undefined

    A verification approach for crosscutting features based on extension join points

    Get PDF
    Recently, one arguing question in the context of product line development is how to improve the modularization and composition of crosscutting features. However, little attention has been paid to the closely related issue of testing the crosscutting features. This paper proposes a verification approach for the crosscutting features of a product line based on the use of a previously proposed concept called Extension Join Points

    A Container-Based Approach to Object-Oriented Product Lines.

    Full text link

    Automatic Code Generation for Actuator Interfacing from a Declarative Specification

    Get PDF
    Abstract -Common software design practices use objectoriented (OO) frameworks that structure software in terms of objects, classes, and package; designers then create programs by inheritance and composition of classes and objects. Operational Software Components for Advanced Robotics (OSCAR) is one such framework for robot control software with abstractions for generalized kinematics, dynamics, performance criteria, decision making, and hardware interfacing. Even with OSCAR, writing new programs still requires a significant amount of manual labor. Feature-Oriented Programming (FOP) is method for software design that models and specifies programs in terms of features, where a feature encapsulates the common design decisions that occur in a domain. A set of features then forms a domain model for a Product Line Architecture. Product variants in this product line can then be generated from a declarative specification. FOP and related technologies are emerging software engineering techniques for automatically generating prorams. Our research applies FOP to robot controller software. As an example, the domain of hardware interfacing is analyzed and 41 features identified. A GUI for specifying and generating programs is presented as well. Analysis of features shows 200 possible different programs could be generated

    Vers des Lignes de produits Flexibles

    Get PDF
    National audienceAfin de faire face à la complexité du logiciel due à la variabilité de ses environnements et de ses utilisations, l'ingénierie des lignes de produits permet d'important gains en termes de coûts et de qualité de développement en systématisant la réutilisation d'éléments communs. Néanmoins, les approches actuelles manquent de flexibilité dans la prise en compte des exigences particulières à un utilisateur. Nous illustrons ici comment, en utilisant des techniques d'ingénierie des modèles telles que la composition et la transformation et en les outillant dans l'environnement de métamodelisation Kermeta, il est possible de concilier flexibilité et efficacité lors de la dérivation de produits

    A systematic comparison of roundtrip software engineering approaches

    Get PDF
    Model-based software engineering contemplates several software development approaches in which models play an important role. One such approach is round-trip engineering. Very briefly, round-trip engineering is code generation from models, and models are updated whenever a code change occurs. The objective of this dissertation is to benchmark the comparative analysis of the round-trip engineering capability of the UML, Papyrus, Modelio and Visual Paradigm modeling tools. In more detailed terms, the work will focus on evaluating tools to automatically or semi-automatically support round-trip engineering processes for each selected diagram. Collaterally, this dissertation will allow us to gain insight into the current round-trip engineering landscape, establishing the state-of-the-art UML modeling tool support for this approach. Qualitative and quantitative analysis of the round-trip engineering capabilities of the tools show that the Papyrus, Modeling and Visual Paradigm tools yielded satisfactory results by applying the Reverse and Forward Engineering scenarios without changing the models and codes but applying the Round-trip engineering scenario with changes in model and code presented results with some gaps in model and code coherence. It was concluded that they arose because the semantic definition of the models was done informally. The conclusions drawn throughout the dissertation will answer the questions: How effective are current code generation tools for documenting application evolution? Where will it support the decision made? objectives and will support the recommendations of the best tools that address the round-trip engineering method.A engenharia de software baseada em modelo contempla várias abordagens de desenvolvimento de software nas quais os modelos desempenham um papel importante. Uma dessas abordagens é a Round-trip engineering. Muito brevemente, a Round-trip engineering é a geração de código a partir de modelos, e os modelos são atualizado sempre que ocorre uma alteração no código. O objetivo desta dissertação é a realização de um benchmarking da análise comparativa da capacidade de Round-trip engineering das ferramentas de modelação UML, Papyrus, Modelio e Visual Paradigm. Em termos mais detalhados, o trabalho se concentrará na avaliação de ferramentas para dar suporte automático ou semiautomático a processos de Round-trip engineering (engenharia direta e engenharia reversa) para cada diagrama selecionado. Colateralmente, esta dissertação permitirá alcançar uma visão do panorama atual da Round-trip engineering, estabelecendo o estado da arte do suporte de ferramentas de modelação em UML à dita abordagem. A analise qualitativa e quantitativamente da capacidade de Round-trip engineering das ferramentas mostro que, as ferramentas Papiro, Modelagem e Paradigma Visual apresentaram resultados satisfatórios aplicando os cenários de Reverse e Forward Engineering sem alterar os modelos e códigos e com alterações, mas aplicando o cenário Round-trip engineering com alterações nos modelo e código apresentaram resultados com algumas lacunas nomeadamente na coerência dos modelos e código. Concluiu-se que as mesmas surgiram por causa da definição semântica dos modelos ser feita de forma informal. As conclusões tiradas ao longo do trabalho respondera as perguntas: Qual a eficácia das ferramentas atuais de geração de código para documentar a evolução dos aplicativos? Onde apoiará a decisão tomada? que foram definidas nos objetivos e apoiarão as recomendações das melhores ferramentas que aborda o método Round-trip engineering
    corecore