4 resultados para PROGRAMMING LANGUAGE
em Biblioteca Digital da Produção Intelectual da Universidade de São Paulo
Resumo:
Abstract Background Over the last years, a number of researchers have investigated how to improve the reuse of crosscutting concerns. New possibilities have emerged with the advent of aspect-oriented programming, and many frameworks were designed considering the abstractions provided by this new paradigm. We call this type of framework Crosscutting Frameworks (CF), as it usually encapsulates a generic and abstract design of one crosscutting concern. However, most of the proposed CFs employ white-box strategies in their reuse process, requiring two mainly technical skills: (i) knowing syntax details of the programming language employed to build the framework and (ii) being aware of the architectural details of the CF and its internal nomenclature. Also, another problem is that the reuse process can only be initiated as soon as the development process reaches the implementation phase, preventing it from starting earlier. Method In order to solve these problems, we present in this paper a model-based approach for reusing CFs which shields application engineers from technical details, letting him/her concentrate on what the framework really needs from the application under development. To support our approach, two models are proposed: the Reuse Requirements Model (RRM) and the Reuse Model (RM). The former must be used to describe the framework structure and the later is in charge of supporting the reuse process. As soon as the application engineer has filled in the RM, the reuse code can be automatically generated. Results We also present here the result of two comparative experiments using two versions of a Persistence CF: the original one, whose reuse process is based on writing code, and the new one, which is model-based. The first experiment evaluated the productivity during the reuse process, and the second one evaluated the effort of maintaining applications developed with both CF versions. The results show the improvement of 97% in the productivity; however little difference was perceived regarding the effort for maintaining the required application. Conclusion By using the approach herein presented, it was possible to conclude the following: (i) it is possible to automate the instantiation of CFs, and (ii) the productivity of developers are improved as long as they use a model-based instantiation approach.
Resumo:
O presente artigo pretende ressaltar o potencial dos jogos digitais como instrumento de assimilação do conhecimento em arquitetura patrimonial, através da pesquisa Patrimônio arquitetônico, design e educação: desenvolvimento de Sistemas Interativos Lúdicos (jogos educativos em meio digital). Nesta pesquisa foram desenvolvidos jogos digitais a partir do levantamento das características arquitetônicas dos edifícios de relevância histórica e cultural da cidade de São Carlos. Através da interação e exploração da interface digital pelo usuário, a apropriação do conhecimento ocorre de uma forma lúdica e criativa. Por meio da manipulação desses jogos, os alunos, cidadãos e visitantes podem aproximar-se da educação patrimonial adquirindo consciência histórica e aprendendo a valorizar as origens da cidade e a arquitetura do município. Ressalta-se a importância das metodologias que permitem viabilizar o desenvolvimento dos jogos eletrônicos (desenho e linguagem de programação) e que se apresentam como importantes ferramentas de representação da arquitetura. Por fim, destaca-se a importância da educação patrimonial para a formação do cidadão e preservação do patrimônio cultural.
Resumo:
This research studies the use of digital games as a playful tool approach of knowledge in architecture heritage. We emphasize the potential of digital games as a tool and importance of digital drawing combined with programming language, the means by which the making of the games became possible. The models developed are based on the properties of historical and cultural interest in the city of São Carlos, Brasil.
Resumo:
Field-Programmable Gate Arrays (FPGAs) are becoming increasingly important in embedded and high-performance computing systems. They allow performance levels close to the ones obtained with Application-Specific Integrated Circuits, while still keeping design and implementation flexibility. However, to efficiently program FPGAs, one needs the expertise of hardware developers in order to master hardware description languages (HDLs) such as VHDL or Verilog. Attempts to furnish a high-level compilation flow (e.g., from C programs) still have to address open issues before broader efficient results can be obtained. Bearing in mind an FPGA available resources, it has been developed LALP (Language for Aggressive Loop Pipelining), a novel language to program FPGA-based accelerators, and its compilation framework, including mapping capabilities. The main ideas behind LALP are to provide a higher abstraction level than HDLs, to exploit the intrinsic parallelism of hardware resources, and to allow the programmer to control execution stages whenever the compiler techniques are unable to generate efficient implementations. Those features are particularly useful to implement loop pipelining, a well regarded technique used to accelerate computations in several application domains. This paper describes LALP, and shows how it can be used to achieve high-performance computing solutions.