39 research outputs found
VAST: visualizador de árboles sintácticos. Evaluación de usabilidad
Esta comunicación describe VAST, una herramienta
educativa que se ha diseñado para ser
utilizada en clases de compiladores y procesadores
del lenguaje. La versión actual permite
generar y visualizar los árboles sintácticos y su
proceso de construcción. Las principales ventajas
de VAST son: independencia del generador
de parsers utilizado, permite que los estudiantes
visualicen el comportamiento de los parsers
que desarrollan y consta de una interfaz
diseñada para manejar cómodamente árboles
sintácticos muy grandes. Describimos diferentes
maneras educativas de utilizar VAST, asÃ
como una evaluación de usabilidad.Peer Reviewe
Herramientas educativas para facilitar la adopción de la ingenierÃa de lenguajes software entre los desarrolladores informáticos
Históricamente, la materia de construcción de compiladores y procesadores de lenguaje es considerada por los estudiantes de ingenierÃa en informática como una materia difÃcil. Esto es debido, por una parte, a la naturaleza formal de las herramientas de especificación y diseño utilizadas, y, por otra, a la aplicación adecuada de diferentes técnicas sistemáticas de desarrollo para obtener los procesadores finales a partir de sus especificaciones. En esta tesis se aborda esta problemática en el caso particular de las gramáticas de atributos como formalismo básico de especificación. La tesis aborda, primeramente la concepción de una estrategia para facilitar la comprensión de los aspectos básicos de las especificaciones basadas en gramáticas de atributos, asà como el soporte software de dicha estrategia. La estrategia propone un enfoque dirigido por problemas, en los que el alumno debe emular el proceso de evaluación semántica sobre distintos supuestos de procesamiento de frases de acuerdo con gramáticas de atributos. Para soportar dicha estrategia, se ha desarrollado un sistema denominado Evaluators, que, tomando como entrada baterÃas de ejercicios sobre evaluación semántica, produce automáticamente simuladores interactivos que los estudiantes pueden utilizar para resolver dichos ejercicios. El sistema proporciona, asà mismo, una herramienta de autorÃa, que puede ser utilizada por los docentes para proporcionar los ejercicios, asà como una herramienta de análisis, que permite trazar el comportamiento de los estudiantes durante la resolución de los mismos en los simuladores generados. Respecto a dichos simuladores, la herramienta es capaz de generar simulaciones de dos tipos: simuladores basados en juegos serios, y simulaciones interactivas basadas en las representaciones abstractas convencionales utilizadas en la materia. La tesis presenta, asà mismo, diversos resultados de evaluación de la herramienta, tanto con estudiantes como con docentes, que evidencian la utilidad práctica de la misma. Por último, la tesis abstrae también el modelo de proceso utilizado en la construcción de la misma..
SmartAnvil: Open-Source Tool Suite for Smart Contract Analysis
International audienceSmart contracts are new computational units with special properties: they act as classes with aspectual concerns; their memory structure is more complex than mere objects; they are obscure in the sense that once deployed it is difficult to access their internal state; they reside in an append-only chain. There is a need to support the building of new generation tools to help developers. Such support should tackle several important aspects: (1) the static structure of the contract, (2) the object nature of published contracts, and (3) the overall data chain composed of blocks and transactions. In this chapter, we present SmartAnvil an open platform to build software analysis tools around smart contracts. We illustrate the general components and we focus on three important aspects: support for static analysis of Solidity smart contracts, deployed smart contract binary analysis through inspection, and blockchain navigation and querying. SmartAnvil is open-source and supports a bridge to the Moose data and software analysis platform
VisualLISA: a visual environment to develop attribute grammars
The focus of this paper is on crafting a new visual language for attribute grammars (AGs), and on the development of the associated programming environment. We present a solution for rapid development of
VisualLISA editor using DEViL. DEViL uses traditional attribute grammars, to specify the language’s syntax and semantics, extended by visual representations to be associated with grammar symbols. From these
specifications a visual programming environment is automatically generated.
In our case, the environment allows us to edit a visual description of an AG that is automatically translated into textual notations, including an XML-based representation for attribute grammars (XAGra), and is intended to be helpful for beginners and rapid development of small AGs.
XAGra allows us to use VisualLISA with other compiler-compiler tools
Visual language representation for use case evolution and traceability
The primary goal of this research is to assist non-technical stakeholders involved in requirements engineering with a comprehensible method for managing changing requirements within a specific domain. An important part of managing evolving requirements over time is to maintain a temporal ordering of the changes and to support traceability of the modifications. This research defines a semi-formal syntactical and semantic definition of such a method using a visual language, RE/TRAC (Requirements Evolution with Traceability), and a supporting formal semantic notation RE/TRAC-SEM. RE/TRAC-SEM is an ontological specification employing a combination of models, including verbal definitions, set theory and a string language specification RE/TRAC-CF. The language RE/TRAC-CF enables the separation of the syntactical description of the visual language from the semantic meaning of the model, permitting varying target representations and taking advantage of existing efficient parsing algorithms for context-free grammars. As an application of the RE/TRAC representation, this research depicts the hierarchical step-wise refinement of UML use case diagrams to demonstrate evolving system requirements. In the current arena of software development, where systems are described using platform independent models (PIMs) which emphasize the front-end design process, requirements and design documents, including the use cases, have become the primary artifacts of the system. Therefore the management of requirements’ evolution has become even more critical in the creation and maintenance of systems
Behavior models for software architecture
Monterey Phoenix (MP) is an approach to formal software system architecture specification based on behavior models. Architecture modeling focuses not only on the activities and interactions within the system, but also on the interactions between the system and its environment, providing an abstraction for interaction specification. The behavior of the system is defined as a set of events (event trace) with two basic relations: precedence and inclusion. The structure of possible event traces is specified using event grammars and other constraints organized into schemas. The separation of the interaction description from the components behavior is an essential MP feature. The schema framework is amenable to stepwise architecture refinement, reuse, composition, visualization, and multiple view extraction. The approach yields a basis for executable architecture specification supporting early testing and verification, systematic use case generation, and performance estimates with automated tools.Consortium for Robotics and Unmanned Systems Education and Research (CRUSER)Consortium for Robotics and Unmanned Systems Education and Research (CRUSER)Approved for public release; distribution is unlimited.Approved for public release; distribution is unlimited