scholarly journals Cognification of Program Synthesis—A Systematic Feature-Oriented Analysis and Future Direction

Computers ◽  
2020 ◽  
Vol 9 (2) ◽  
pp. 27
Author(s):  
Ahmad F. Subahi

Program synthesis is defined as a software development step aims at achieving an automatic process of code generation that is satisfactory given high-level specifications. There are various program synthesis applications built on Machine Learning (ML) and Natural Language Processing (NLP) based approaches. Recently, there have been remarkable advancements in the Artificial Intelligent (AI) domain. The rise in advanced ML techniques has been remarkable. Deep Learning (DL), for instance, is considered an example of a currently attractive research field that has led to advances in the areas of ML and NLP. With this advancement, there is a need to gain greater benefits from these approaches to cognify synthesis processes for next-generation model-driven engineering (MDE) framework. In this work, a systematic domain analysis is conducted to explore the extent to the automatic generation of code can be enabled via the next generation of cognified MDE frameworks that support recent DL and NLP techniques. After identifying critical features that might be considered when distinguishing synthesis systems, it will be possible to introduce a conceptual design for the future involving program synthesis/MDE frameworks. By searching different research database sources, 182 articles related to program synthesis approaches and their applications were identified. After defining research questions, structuring the domain analysis, and applying inclusion and exclusion criteria on the classification scheme, 170 out of 182 articles were considered in a three-phase systematic analysis, guided by some research questions. The analysis is introduced as a key contribution. The results are documented using feature diagrams as a comprehensive feature model of program synthesis showing alternative techniques and architectures. The achieved outcomes serve as motivation for introducing a conceptual architectural design of the next generation of cognified MDE frameworks.


2010 ◽  
Vol 26-28 ◽  
pp. 1195-1199
Author(s):  
Zhong Liang Cao ◽  
Xu Tang Zhang ◽  
Ya Xin Yan ◽  
Xiao Feng Chen

A new machining feature model for cylinder-type parts is proposed. Through the use of the model in process planning, the NC program can be generated by modular approach. NC machining feature classification based process design method is a good solution to the integration of the traditional and NC processes. With the machining feature as unit, parametric programming technique is applied to the NC code generation which can improve the efficiency and quality of the NC program design. The proposed method has been practically demonstrated in the enterprise information system.



Author(s):  
Humberto Cortés ◽  
Antonio Navarro

Nowadays, the Unified Modeling Language (UML) is the most successful notation for the design of object-oriented applications. However, plain UML is not enough to characterize the web presentation tier of enterprise applications, including the navigational, structural and role-based access control (RBAC) features present in these applications. In this paper, we present Enterprise Web Application Extension (E-WAE), a lightweight UML extension for the modeling of these elements, which permits the inclusion of multitier, Service-Oriented Architecture (SOA) and security design-level patterns in the models. Our approach follows a Model-Driven Development (MDD) approach, which enables the automatic generation of intermediate platform-specific models and automatic code generation for JavaServer Faces (JSF) and Active Server Pages.NET Model-View-Controller (ASP.NET MVC) frameworks. In addition, this generated code can be used as a low-cost mockup for early client validation of the navigational, structural and RBAC features of enterprise applications. E-WAE has been used with different applications. In this paper, we refer to the checkout process in the Amazon website, the delete resources use case in OdAJ2EE, an educational application developed by us, and the US Library of Congress Online Catalog search facility as examples of its applicability.





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>



Model-Driven Development (MDD) tools for Rich Internet Applications (RIAs) development are focused on software modeling, and they leave automatic code generation in a second term. On the other hand, Rapid Application Development (RAD) tools for RIAs development enable developers to save development time and effort by leveraging reusable software components. AlexandRIA is a RAD tool that allows developers to automatically generate both source and native code of multi-device RIAs from a set of preferences selected throughout a wizard following the phases of a User Interface (UI) pattern-based code generation approach for multi-device RIAs. In this chapter, the use of the UI design process behind AlexandRIA is demonstrated by means of a sample development scenario addressing the development of a cloud services Application Programming Interfaces (APIs)-based cross-platform mobile RIA. This scenario is further revisited in a case study that addresses the automatic generation of an equivalent application using AlexandRIA.



2019 ◽  
Vol 7 ◽  
pp. 661-676 ◽  
Author(s):  
Jiatao Gu ◽  
Qi Liu ◽  
Kyunghyun Cho

Conventional neural autoregressive decoding commonly assumes a fixed left-to-right generation order, which may be sub-optimal. In this work, we propose a novel decoding algorithm— InDIGO—which supports flexible sequence generation in arbitrary orders through insertion operations. We extend Transformer, a state-of-the-art sequence generation model, to efficiently implement the proposed approach, enabling it to be trained with either a pre-defined generation order or adaptive orders obtained from beam-search. Experiments on four real-world tasks, including word order recovery, machine translation, image caption, and code generation, demonstrate that our algorithm can generate sequences following arbitrary orders, while achieving competitive or even better performance compared with the conventional left-to-right generation. The generated sequences show that InDIGO adopts adaptive generation orders based on input information.



2019 ◽  
Vol 19 (1) ◽  
Author(s):  
Gao Sun ◽  
Charles V. Jackson ◽  
Karen Zimmerman ◽  
Li-Kun Zhang ◽  
Courtney M. Finnearty ◽  
...  


DYNA ◽  
2019 ◽  
Vol 86 (211) ◽  
pp. 174-183
Author(s):  
Mirtha Fabiana Miranda ◽  
Sandra Isabel Casas

Interactive Digital TV (iDTV) enhances viewers’ experience and participation by engaging them with an active role. The development of interactive software requires the employment of usability criteria to provide satisfactory experiences for users. In addition, the diverse characteristics of television programs require efficient processes for interactive software development. In Latin America, the process of implementing DTV is in progress, so the current stage of development of interactive applications is too incipient and immature to support industrial, quality-level development. This paper proposes combining software reuse strategies, specifically, software product lines (SPLs) and user-centered interaction design patterns, to improve productivity and quality. A generic feature model for the automatic generation of iDTV applications and an SPL-iDTV tool that supports the model are presented. The proposal is evaluated with two studies: an experiment that attempts to reproduce real application prototypes that were originally developed manually, through the use of patterns, and an evaluation of the quality of the SPL.



Author(s):  
Sungdo Ha ◽  
Inshik Hwang ◽  
Myon Woong Park ◽  
Hyung-Min Rho

Abstract FAPPS (Feature-based Automatic Process Planning System) is developed as a comprehensive metal cutting process planning system operated in PC environments. It can recognize the machining features automatically from a given 3D part design model, and then generates operation sheets, divided process drawings, NC codes, and inspection sheet. It consists of the following modules: tolerance input module for menu-driven input of tolerances, feature recognition module for automatic recognition of pre-defined machining features and compound features, process planning module for rule based determination of machining processes, divided process drawing module for automatic generation of divided process drawings, operation planning module for rule based generation of specific operation plans, and measurement planning module for automatic generation of CMM measurement plans. The CMM measurement planning in FAPPS uses both geometric information and tolerance information from CAD files in order to determine measurement surfaces, number and positions of measurement points, and measurement sequences for inspecting machined parts. The measurement plan is represented in DMIS format for automated measurements using CMM’s. The measurement planning module that is realized in FAPPS is explained in this paper with the developed algorithms. Fuzzy logic calculation is used to determine the number of measurement points and geometric consideration for selecting measurement positions is performed.



2020 ◽  
Vol 9 (9) ◽  
pp. 496
Author(s):  
Yujiao Lei ◽  
Jiqiu Deng ◽  
Jian Lin ◽  
Jeffrey M. Dick ◽  
Mohammad Naser Lessani ◽  
...  

Errors and inefficiency may be caused by manual processing of complex templates for the preparation and management of engineering survey reports. To address this problem, this paper analyzes the multidimensional variable features of professional field documents and proposes a generation model of standardized reports based on a four-dimensional dynamic template. This approach splits the standardized report into multiple parts to construct a hierarchical tree that represents the report structure according to the report rules, then stores the tree in a graph database, and finally generates the desired report dynamically by retrieving the relational tree for the template and obtaining the relevant data. The model has been applied to the engineering geological survey report system and is shown to improve the working efficiency and data accuracy of the report preparation. Results indicate that the model is feasible and effective.



Sign in / Sign up

Export Citation Format

Share Document