A Code Generation Process for Role Classes. An approach based on Formal Techniques and Design Patterns

Author(s):  
Vicente Pelechano ◽  
Manoli Albert ◽  
Eva Campos ◽  
Oscar Pastor
e-xacta ◽  
2016 ◽  
Vol 9 (1) ◽  
pp. 37
Author(s):  
Cristiano Martins Monteiro ◽  
Flavianne Braga Campos de Lima ◽  
Carlos Renato Storck

<p>A geração automática de código-fonte é uma prática adotada no desenvolvimento de softwares para agilizar, facilitar e padronizar a implementação dos projetos. Embora seja uma prática comum nas fábricas de software, não se conhece uma ferramenta que permita escolher o padrão de projeto a ser usado. O objetivo principal deste trabalho é apresentar um gerador de códigos para o desenvolvimento de sistemas Web a partir de uma modelagem entidade-relacionamento, uma linguagem de programação e um padrão de projeto determinados pelo usuário. Os objetivos específicos são propor uma arquitetura do sistema capaz de adequar e reaproveitar diferentes padrões de projeto, linguagens de programação e projetos cadastrados; permitir que o usuário cadastre, altere, exclua, importe e exporte um projeto; e gerar automaticamente o seu código-fonte e scripts de banco de dados. Este trabalho se justifica pela importância de reduzir erros de codificação; e evitar perca tempo ao realizar atividades rotineiras de implementação de padrões de projeto. Possibilitando assim, maior dedicação no planejamento das regras de negócios e redução de custos. A ferramenta proposta (GCER) foi desenvolvida em linguagem Java com o uso banco de dados Oracle 11g, e seguindo os padrões DAO e MVC. Os resultados foram avaliados através da geração e compilação de códigos de um projeto para cadastro de veículos. A geração com êxito evidencia a viabilidade da ferramenta proposta para a geração automática de códigos no processo de desenvolvimento de software.</p><p>Abstract</p><p>The automatic generation of source code is a practice adopted in the development of software to streamline, facilitate and standardize the implementation of projects. Although it be a common practice in software factories, it is not known a tool able to choose the design pattern to be used. The main objective of this paper is to present a code generator for the development of Web systems from an entity-relationship modeling, a programming language and a design pattern determined by the user. The specific objectives are to propose a system architecture able to suit and reuse different design patterns, programming languages and saved projects; allow the user to insert, update, delete, import and export a project; and automatically generate the source code and database scripts. This work is justified by the importance to reduce errors of coding; and to avoid waste of time in the development of Web systems performing routine tasks. Allowing, then, a greater dedication in the planning of business rules and the reduction of costs. The tool proposed (GCER) was developed in Java with the database using Oracle 11g, and following the DAO and MVC patterns. The results were evaluated by generating and compiling codes of a project for vehicle registration. The successful code generation demonstrate the feasibility of the proposed tool for the automatic generation of code in the software development process.</p>


Author(s):  
Jaime Gomez ◽  
Cristina Cachero

The mostly “creative” authoring process used to develop many Web applications during the last years has already proven unsuccessful to tackle, with its increasing complexity, both in terms of user and technical requirements. This fact has nurtured a mushrooming of proposals, most based on conceptual models, that aim at facilitating the development, maintenance and assessment of Web applications, thus improving the reliability of the Web development process. In this chapter, we will show how traditional software engineering approaches can be extended to deal with the Web idiosyncrasy, taking advantage of proven successful notation and techniques for common tasks, while adding models and constructs needed to capture the nuances of the Web environment. In this context, our proposal, the Object-Oriented Hypermedia (OO-H) Method, developed at University of Alicante, provides a set of new views that extend UML to provide a Web interface model. A code generation process is able to, departing from such diagrams and their associated tagged values, generate a Web interface capable of connecting to underlying business modules.


2013 ◽  
Vol 365-366 ◽  
pp. 950-954
Author(s):  
Xiu Ting Wei ◽  
Jian Ping Zhu ◽  
Gang Li

A chamfering algorithm was put forward to achieve automatic NC programming for chamfering addendum of spiral bevel gears and a NC programming module was developed based on UG/Open through secondary development. Furthermore, a practical example was used to demonstrate the automatic NC code generation process for chamfering addendum according to the preset chamfer surface and its permissible error.


Author(s):  
Abdelhamid Hariche ◽  
Mostefa Belarbi ◽  
Abdallah Chouarfia ◽  
Abdelkader Chaib

The need for high performance, available and reliable embedded systems has made computing systems increasingly complex. Formal methods have the ability to produce critical systems for large industrial projects, and this by creating an original mathematical model that can be formally refined in levels until the final refinement which contains enough of details for an implementation. This work is a first step of VHDL code generation process, it represents how to elaborate formally an embedded system using Abstract data type in a form of theories (NoC, WNoC, colored graph, VHDL) and how to ensure in systematic way all the details and complexity of this system using operators of refinement (Create, Rename, Restrict, Enrich)that are recently proposed for the Event-B method. All the theories are deployed, discharged and used in Event-B models to represent and enhance the performance of this self-organization reliability solution for the wireless sensors network of NoC-based system. This paper summerize the fruit of using new proposed approach for the Event-B formal method that persist the NoC-based ditributed system instead of consuming more than 70% of realization time with any analytic method.


Author(s):  
Daniel Strmečki ◽  
Ivan Magdalenić ◽  
Danijel Radosević

One of the main goals of the Software Engineering discipline is to find higher abstraction levels and ways to reuse software in order to increase its productivity and quality. Ontologies, which are typically considered as a technique or an artifact used in one or more software lifecycle phases, may be used to help achieve that goal. This paper provides a systematic literature review of the proposed solutions for applying ontologies in automatic and generative programming. The paper aims to identify ontologies and software development tools, frameworks, prototypes, design patterns and methodologies that use them as development artifacts for source code generation or product derivation. The review provides researchers with the state of the art, while also identifying challenges and gaps that require further exploration and development.


Author(s):  
Rafael Corveira da Cruz Gonçalves ◽  
Isabel Azevedo

A RESTful web service implementation requires following the constrains inherent to REST architectural style, which, being a non-trivial task, often leads to solutions that do not fulfill those requirements properly. Model-driven techniques have been proposed to improve the development of complex applications. In model-driven software development, software is not implemented manually based on informal descriptions but partially or completely generated from formal models derived from metamodels. A model-driven approach, materialized in a domain specific language that integrates the OpenAPI specification, an emerging standard for describing REST services, allows developers to use a design first approach in the web service development process, focusing in the definition of resources and their relationships, leaving the repetitive code production process to the automation provided by model-driven engineering techniques. The code generation process covers the entire web-service flow from the description and exposure of the endpoints to the definition of database tables.


Author(s):  
Howard Lovatt ◽  
Anthony M. Sloane ◽  
Dominic R. Verity

This chapter describes an extended compiler that formalizes patterns, which we call a pattern enforcing compiler (PEC). Developers use standard Java syntax to mark their classes as implementations of particular Design patterns. The compiler is then able to use reflection to check whether the classes do in fact adhere to the constraints of the patterns. The checking possible with our compiler starts with the obvious static adherence to constraints such as method presence, visibility, and naming. However, we go much further and support dynamic testing to check the runtime behavior of classes and code generation to assist in the implementation of complex patterns. The chapter gives examples of using the patterns supplied with our PEC and also examples of how to write your own patterns and have our PEC enforce these.


Sign in / Sign up

Export Citation Format

Share Document