Extended Positional Grammars

Author(s):  
Gennaro Costagliola

Much recent research is focusing on formal methods for the definition and implementation of visual programming environments. Extended positional grammars naturally extend context-free grammars for string languages to grammars for visual languages by considering new relations in addition to string concatenation. Thanks to this analogy, most results from LR parsing can be extended to extended positional grammars while preserving their well-known efficiency. XPGs include mechanisms for handling contextual information enabling us to model a broader class of visual languages, which includes the diagrammatic notations used in software engineering. Moreover, the XPG grammar formalism can be effectively used for modeling both visual and textual notations in a seamless way. The XPG model is the underlying formalism of the VLDesk system for the automatic generation of visual programming environments. VLDesk inherits and extends to the visual field, concepts and techniques of compiler generation tools like YACC.

Computer ◽  
1995 ◽  
Vol 28 (3) ◽  
pp. 56-66 ◽  
Author(s):  
G. Costagliola ◽  
G. Tortora ◽  
S. Orefice ◽  
A. de Lucia

2018 ◽  
Vol 21 (1) ◽  
Author(s):  
Héctor Cancela ◽  
Isabel Brito ◽  
Luca Cernuzzi ◽  
Marcela Genero ◽  
Jesús García Molina ◽  
...  

This issue of the CLEIej consists of three main parts: i) a review paper on the state of the art of how contextual information extracted from a user task can help to improve searches for contents relevant to this task; ii) extended and revised versions of Selected Papers (which correspond to the second and third best paper from each track) presented at the XX Ibero-American Conference on Software Engineering (CIbSE 2017), which took place in Buenos Aires, Argentina, in May 2017; and, iii) extended and revised versions of selected papers from LACLO 2016, the XI Latin American Conference on Learning Objects and Technology, which took place in San José, Costa Rica, in October 2016.


2021 ◽  
Vol 5 (1) ◽  
Author(s):  
Mark Noone ◽  
Aidan Mooney ◽  
Keith Nolan

This article details the creation of a hybrid computer programming environment combining the power of the text-based Java language with the visual features of the Snap! language. It has been well documented that there exists a gap in the education of computing students in their mid-to-late teenage years, where perhaps visual programming languages are no longer suitable and textual programming languages may involve too steep of a learning curve. There is an increasing need for programming environments that combine the benefits of both languages into one. Snap! is a visual programming language which employs “blocks” to allow users to build programs, similar to the functionality offered by Scratch. One added benefit of Snap! is that it offers the ability to create one’s own blocks and extend the functionality of those blocks to create more complex and powerful programs. This will be utilised to create the Hybrid Java environment. The development of this tool will be detailed in the article, along with the motivation and use cases for it. Initial testing conducted will be discussed including one phase that gathered feedback from a pool of 174 first year Computer Science students. These participants were given instructions to work with the hybrid programming language and evaluate their experience of using it. The analysis of the findings along with future improvements to the language will also be presented.


2018 ◽  
Vol 6 (1) ◽  
Author(s):  
Adenilso S. Simao ◽  
Auri M. R. Vincenzi ◽  
Antonio C. L. Santana ◽  
Jose C. Maldonado

Instrumentation is a technique frequently used in software engineering for several different purposes, e.g. program and/or specification execution trace, testing criteria coverage analy- sis, and reverse engineering. Instrumenting a software product can be divided into two main tasks: (i) deriving the software product structure and (ii) inserting statements for collecting runtime/simulation information. Most instrumentation approaches are specific to a given domain or language. Thus, it is very difficult to reuse the effort expended in developing an instrumenter, even if the target languages are quite similar. To tackle this problem, in this paper, we propose an instrumentation-oriented meta-language, named IDeL, designed to support the description of both main tasks of instru- mentation process, namely: (i) the product structure derivation and (ii) the insertion of the instrumentation statements. In order to apply IDeL to a specific language L, it should be in- stantiated with a context-free grammar of L. To promote IDeL’s practical use, we also developed a supporting tool, named idelgen, that can be thought of as an application generator, based on the transformational programming paradigm and tailored to the instrumentation process. We illustrate the main concepts of our proposal with examples describing the instrumentation required in some traditional data flow testing criteria for C language.


2010 ◽  
Vol 22 (1) ◽  
pp. 1-22 ◽  
Author(s):  
Margaret Burnett

End-user programming has become ubiquitous; so much so that there are more end-user programmers today than there are professional programmers. End-user programming empowers—but to do what? Make bad decisions based on bad programs? Enter software engineering’s focus on quality. Considering software quality is necessary, because there is ample evidence that the programs end users create are filled with expensive errors. In this paper, we consider what happens when we add considerations of software quality to end-user programming environments, going beyond the “create a program” aspect of end-user programming. We describe a philosophy of software engineering for end users, and then survey several projects in this area. A basic premise is that end-user software engineering can only succeed to the extent that it respects that the user probably has little expertise or even interest in software engineering.


Author(s):  
Eduardo Costa ◽  
Alexandre Grings ◽  
Marcus Vinicius dos Santos

Many people argue that Visual Programming languages are self-documenting. This article points out that there is no such thing as a self-documenting language. Besides this, many popular methods used to document programs written in other languages do not suit Visual Languages perfectly, and need some tailoring. Therefore, the authors propose a visual adaptation of the dataflow method of documentation. They also present versions of instantiated documentation and denotational semantics applied to visual languages. Finally, they present a Prolog based complete example of documentation.


1976 ◽  
Vol 7 (1) ◽  
pp. 61-73 ◽  
Author(s):  
O. L. Madsen ◽  
B. B. Kristensen

Sign in / Sign up

Export Citation Format

Share Document