scholarly journals VISUAL-GRAPHIC PROGRAMMING SYSTEM BASED ON DEVELOPMENT OF BLOCK DIAGRAMS OF ALGORITHMS. CONVERTING PROGRAMS TEXTS IN DIFFERENT PROGRAMMING LANGUAGES INTO BLOCK DIAGRAMS AND BACK

Author(s):  
А.А. Вохмин ◽  
О.А. Евдокимова ◽  
А.А. Малявко

В работе представлены результаты исследований и разработки средств визуально-графического проектирования сложных алгоритмов в виде блок-схем в целом и, в частности, интерфейсной компоненты таких средств – конвертора текстов программ на различных языках программирования во внутреннее структурно-вложенное представление и обратно в тексты. Визуально-графическое представление алгоритмов лучше воспринимается человеком-разработчиком, чем традиционное текстовое представление, поэтому развитию подобных систем программирования в последнее время уделяется определенное внимание. Однако реализация максимально удобных для человека технологий создания и редактирования блок-схем сопряжена с необходимостью решения ряда сложных задач формирования и адекватного отображения управляющих структур, используемых в популярных языках программирования. Проведен анализ таких структур для наиболее популярных по разным метрикам языков программирования, представлены его результаты и предложен способ выявления и преобразования управляющих структур во внутреннее представление визуально-графического редактора. Описаны основные алгоритмы работы конвертора текстов программ как в прямом, так и в обратном направлениях. The paper presents the results of research and development of tools for visual and graphic design of complex algorithms in the form of block diagrams in general and, in particular, the interface component of such tools - a converter of programs texts in various programming languages ​​into an internal structurally nested representation and back into texts. The visual-graphical representation of algorithms is better perceived by a human developer than the traditional textual representation, therefore, some attention has been paid to the development of such programming systems in recent years. However, the implementation of the most human-friendly technologies for creating and editing block diagrams is associated with the need to solve a number of complex problems of forming and adequately displaying control structures used in popular programming languages. The analysis of such structures for the most popular programming languages ​​in terms of various metrics is carried out, its results are presented, and a method for identifying and transforming control structures into an internal representation of a visual-graphic editor is proposed. The main algorithms for the operation of the program text converter both in forward and backward directions are described.

Author(s):  
О.А. Евдокимова ◽  
А.А. Вохмин ◽  
А.А. Малявко

В работе приведены результаты исследования и разработки редактора блок-схем алгоритмов. Редактор представляет собой один из компонентов проектируемой многоязыковой визуально-графической системы программирования. При ее разработке приходится решать ряд сложных задач, в числе которых – задача автоматического размещения текущего представления элементов (блоков, контейнеров) и связей между ними, в окне, наложенном на потенциально значительно большую по размерам блок-схему проектируемого алгоритма. Способ представления (свернутый или развернутый) каждого контейнера блок-схемы, возможно, содержащего десятки или сотни вложенных в него элементов, на каждом шаге проектирования алгоритма, может выбираться пользователем. Предложен и описан способ пространственного размещения элементов/контейнеров сложных алгоритмов в автоматическом режиме с учетом необходимости реализации всех потенциально возможных операций пользователя по модификации проектируемой блок-схемы. Рассмотрены необходимые для реализации этого подхода внутренние структуры данных визуально-графического редактора и некоторые наиболее важные алгоритмы расчета/пересчета координат блоков/контейнеров и связей между ними в процессе автоматического размещения. The article presents the results of research and development of the algorithm block diagram editor. The editor is one of the components of the projected multilingual visual-graphic programming system. When developing it, it is necessary to solve a number of complex problems, including the problem of automatic placement of the representation of elements (blocks, containers) and links between them in a window superimposed on a large-sized block diagram of an object. predictable algorithm. The presentation method (collapsed or expanded) of each container of the flowchart, which can contain tens or hundreds of nested elements, can be selected by the user at each stage of the algorithm development. A method of spatial arrangement of elements / containers of complex algorithms in automatic mode is proposed and described, taking into account the implementation of all possible user actions to modify the projected block diagram. The necessary approaches for their implementation are the internal data structures of the visual-graphic editor and some of the most important algorithms for calculating / recalculating the coordinates of blocks / containers and the links between them in the process of automatic placement.


2001 ◽  
Vol 66 (1) ◽  
pp. 357-382 ◽  
Author(s):  
Sanjay Jain ◽  
Jochen Nessel

AbstractAcceptable programming systems have many nice properties like s-m-n-Theorem, Composition and Kleene Recursion Theorem. Those properties are sometimes called control structures, to emphasize that they yield tools to implement programs in programming systems. It has been studied, among others by Riccardi and Royer, how these control structures influence or even characterize the notion of acceptable programming system. The following is an investigation, how these control structures behave in the more general setting of complete numberings as defined by Mal'cev and Eršov.


Author(s):  
DOMINIK STEIN ◽  
STEFAN HANENBERG ◽  
RAINER UNLAND

The specification of join point selections (also known as "pointcuts") is a major design issue in Aspect-Oriented Software Development. Aspect-oriented systems generally provide specific language constructs (subsumed by the term "pointcut language") for specifying such a join point selection. Pointcut languages differ widely with respect to their syntax and semantics. Consequently, developers familiar with one specific language can hardly benefit from this knowledge when designing and implementing pointcuts in another language. This implies that developers working with different aspect-oriented languages can hardly communicate their design to each other, and knowledge about aspect-oriented design can hardly be transferred among developers developing in different languages. In order to overcome this problem, we present novel specification means based on the UML to represent diverse ways of join point selections — without relying on language-specific syntax and semantics. Instead, the proposed language constructs are able to express join point selections in a variety of different aspect-oriented programming languages.


2020 ◽  
Vol 17 (2) ◽  
pp. 14-28
Author(s):  
Alceu Paulo Silva Neto ◽  
Priscila Almeida Cunha Arantes

Renato Manfredini Júnior ou Renato Russo, cantor e compositor, teve uma exposição inteiramente dedicada a sua vida e produção, no ano de 2017, no Museu de Imagem e do Som - MIS, na cidade de São Paulo. A exposição contou com um design de cenografia e expografia desenvolvidos exclusivamente para o evento que somados a um projeto de design gráfico dividiram uma linguagem relacionada ao artista. A partir de textos de Herreman (2004), Screven (1992) e Dean (1996) onde o tema sobre exposições e linguagem gráfica são discutidos pretende-se uma aplicação dos conceitos enquanto confrontados com os itens presentes na exposição e comentados à luz de Lupton e Phillips (2008).*****The achievement of singer and composer Renato Manfredini Júnior, or Renato Russo, was the theme of an exhibition at the Museum of Image and Sound - MIS-SP, in 2017, in the city of São Paulo.The exhibition featured the design of scenography and expography developed exclusively for the event. Both, added to the graphic design project applied to the ambience, share a single stylistic language related to the artist. Thus, the objective of this article is to discuss how graphic creations are inserted in environmental design and their relationship with the exhibition and expography, in view of the scarcity of descriptive material regarding the field of temporary exhibitions. Therefore, contributing to bring information design closer to ephemeral practices, something already adjacent to the museal sector. For this purpose, references developed by authors like Herreman (2015), Screven (1992), Lupton and Phillips (2008) and Dean (1996) are mentioned.


Electronics ◽  
2021 ◽  
Vol 10 (24) ◽  
pp. 3139
Author(s):  
Piotr Serkies ◽  
Adam Gorla

This paper presents some of the issues related to the implementation of advanced control structures (PI controller with additional feedback, Model Predictive Controller) for drives with elastic coupling on a programmable logic controller (PLC). The predominant solutions to electric drive control include the use of rapid prototyping cards, signal processors or programmable matrices. Originally, PLC controllers were used to automate sequential processes, but for several years now, a trend related to their implementation for advanced control objects can be observed. This is mainly due to their compact design, immunity to disturbances and standard programming languages. The following chapters of the paper present the mathematical model of the drive and describe the implementation of the proposed control structures. A PI controller with additional feedback loops and a predictive controller are taken into consideration. Their impact on the CPU load was analysed, and the work was summarised by a comprehensive experimental study. The presented results confirm that it is possible to implement advanced control structures on a PLC controller for drives with elastic coupling while maintaining a sufficiently low load on its CPU.


10.29007/jnl6 ◽  
2018 ◽  
Author(s):  
Cornelis Huizing ◽  
Ruurd Kuiper ◽  
Tom Verhoeff

We formulate and prove two Rice-like theoremsthat characterize limitations on nameability of propertieswithin a given naming scheme for partial functions.Such a naming scheme can, but need not be, an executable formalism.A programming language is an example of an executable naming scheme,where the program text names the partial function it implements.Halting is an example of a propertythat is not nameable in that naming scheme.The proofs reveal requirements on the naming schemeto make the characterization work.Universal programming languages satisfy these requirements,but also other formalisms can satisfy them.We present some non-universal programming languagesand a non-executable specification languagesatisfying these requirements.Our theorems haveTuring's well-known Halting Theorem and Rice's Theorem as special cases,by applying them to a universal programming language or Turing Machines as naming scheme.Thus, our proofs separate the nature of the naming scheme(which can, but need not, coincide with computability) from the diagonal argument.This sheds further light on how far reaching and simple the `diagonal' argument is in itself.


Author(s):  
Felicia L. McKoy ◽  
Noé Vargas-Hernández ◽  
Joshua D. Summers ◽  
Jami J. Shah

Abstract The issue being investigated is the role of the type of representation used for recording design ideas in idea generation techniques for conceptual design. An empirical study was conducted to test the hypothesis that graphical (pictorial) representation is better than textual (sentential) for recording of design ideas. This study used a standard set of outcome measures: fluency, quality, novelty, and variety of ideas generated by use of different representations. The expressiveness of each representation was also studied by examining the ability to convey key design information of an idea. The experiment was designed and data analyzed based on the principles of statistical DOE. The study confirms the hypothesis that graphical representation provide greater benefits for engineering design idea generation than textual representation.


Author(s):  
Rahul Gupta ◽  
Aditya Kanade ◽  
Shirish Shevade

Novice programmers often struggle with the formal syntax of programming languages. In the traditional classroom setting, they can make progress with the help of real time feedback from their instructors which is often impossible to get in the massive open online course (MOOC) setting. Syntactic error repair techniques have huge potential to assist them at scale. Towards this, we design a novel programming language correction framework amenable to reinforcement learning. The framework allows an agent to mimic human actions for text navigation and editing. We demonstrate that the agent can be trained through self-exploration directly from the raw input, that is, program text itself, without either supervision or any prior knowledge of the formal syntax of the programming language. We evaluate our technique on a publicly available dataset containing 6975 erroneous C programs with typographic errors, written by students during an introductory programming course. Our technique fixes 1699 (24.4%) programs completely and 1310 (18.8%) program partially, outperforming DeepFix, a state-of-the-art syntactic error repair technique, which uses a fully supervised neural machine translation approach.


2007 ◽  
Vol 15 (1) ◽  
pp. 45-65
Author(s):  
Hans P. Zima

When the first specification of the FORTRAN language was released in 1956, the goal was to provide an "automatic programming system" that would enhance the economy of programming by replacing assembly language with a notation closer to the domain of scientific programming. A key issue in this context, explicitly recognized by the authors of the language, was the requirement to produce efficient object programs that could compete with their hand-coded counterparts. More than 50 years later, a similar situation exists with respect to finding the right programming paradigm for high performance computing systems. FORTRAN, as the traditional language for scientific programming, has played a major role in the quest for high-productivity programming languages that satisfy very strict performance constraints. This paper focuses on high-level support for locality awareness, one of the most important requirements in this context. The discussion centers on the High Performance Fortran (HPF) family of languages, and their influence on current language developments for peta-scale computing. HPF is a data-parallel language that was designed to provide the user with a high-level interface for programming scientific applications, while delegating to the compiler the task of generating an explicitly parallel message-passing program. We outline developments that led to HPF, explain its major features, identify a set of weaknesses, and discuss subsequent languages that address these problems. The final part of the paper deals with Chapel, a modern object-oriented language developed in the High Productivity Computing Systems (HPCS) program sponsored by DARPA. A salient property of Chapel is its general framework for the support of user-defined distributions, which is related in many ways to ideas first described in Vienna Fortran. This framework is general enough to allow a concise specification of sparse data distributions. The paper concludes with an outlook to future research in this area.


Sign in / Sign up

Export Citation Format

Share Document