93 research outputs found

    A Monitoring Language for Run Time and Post-Mortem Behavior Analysis and Visualization

    Get PDF
    UFO is a new implementation of FORMAN, a declarative monitoring language, in which rules are compiled into execution monitors that run on a virtual machine supported by the Alamo monitor architecture.Comment: In M. Ronsse, K. De Bosschere (eds), proceedings of the Fifth International Workshop on Automated Debugging (AADEBUG 2003), September 2003, Ghent. cs.SE/030902

    Model transformations in Converge

    Get PDF
    Model transformations are currently the focus of much interest and research due to the OMG’s QVT initiative. Current proposals for model transformation languages can be divided into two main camps: those taking a ‘declarative’ approach, and those opting for an ‘imperative’ approach. In this paper we detail an imperative, meta-circular, object orientated, pattern matching programming language Converge which is enriched with features pioneered by the Icon programming language, amongst them: success/failure, generators and goal-directed evaluation. By presenting these features in a language suitable for representing models, we show that we are able to gain some of the advantages of declarative approaches in an imperative setting

    Model transformations in converge.

    Get PDF
    Model transformations are currently the focus of much interest and research due to the OMG’s QVT initiative. Current proposals for model transformation languages can be divided into two main camps: those taking a ‘declarative’ approach, and those opting for an ‘imperative’ approach. In this paper we detail an imperative, meta-circular, object orientated, pattern matching programming language Converge which is enriched with features pioneered by the Icon programming language, amongst them: success/failure, generators and goal-directed evaluation. By presenting these features in a language suitable for representing models, we show that we are able to gain some of the advantages of declarative approaches in an imperative setting

    Model transformations in converge.

    Get PDF
    Model transformations are currently the focus of much interest and research due to the OMG’s QVT initiative. Current proposals for model transformation languages can be divided into two main camps: those taking a ‘declarative’ approach, and those opting for an ‘imperative’ approach. In this paper we detail an imperative, meta-circular, object orientated, pattern matching programming language Converge which is enriched with features pioneered by the Icon programming language, amongst them: success/failure, generators and goal-directed evaluation. By presenting these features in a language suitable for representing models, we show that we are able to gain some of the advantages of declarative approaches in an imperative setting

    The Converge programming language.

    Get PDF
    This paper details the Converge programming language, a new dynamically typed imperative programming language capable of compile-time meta-programming, and with an extendable syntax. Although Converge has been designed with the aim of implementing different model transformation approaches as embedded DSL’s in mind, it is also a General Purpose Language (GPL), albeit one with unusually powerful features. The motivation for a new approach to implementing model transformation approaches is simple: existing languages, and their associated tool-chains, lead to long and costly implementation cycles for model transformation approaches. The justification for creating a new language, rather than altering an existing one, is far less obvious— it is reasonable to suggest that, given the vast number of programming languages already in existence, one of them should present itself as a likely candidate for modification. There are two reasons why a new language is necessary to meet the aims of this paper. Firstly, in order to meet its aims, Converge contains a blend of features unique amongst programming languages; some fundamental design choices have been necessary to make these features coalesce, and imposing such choices retrospectively on an existing language would almost certainly lead to untidy results and backwards compatibility issues. Secondly, my personal experience strongly suggests that the complexity of modern languages implementations (when such implementations are available) can make adding new features a significant challenge. In short, I assert that it is easier in the context of model transformations to start with a fresh canvass than to alter an existing language. This paper comes in three main parts. The first part documents the basics of the Converge language itself;. The second part details Converge’s compile-time metaprogramming and syntax extension facilities, including a section detailing suggestions for how some of Converge’s novel features could be added to similar languages. The third part of this paper explains Converge’s syntax extension facility, and documents a user extension which allows simple UML-esque modelling languages to be embedded within Converge. As well as being a practical demonstration of Converge’s features, this facility is used extensively throughout the remainder of the paper

    Apollo applications program data archives

    Get PDF
    Apollo applications program data archives to collect, store, retrieve, and distribute experiments-related dat

    Serious Game for learning about Software Architecture and Design

    Get PDF
    Arquitetura e Design de Software (ADS) pode ser percebido como um subtópico do domínio de sabedoria conhecido como "Engenharia de Software" (ES) e também como uma área com uma variedade ampla de conceitos e sabedoria com várias aplicações. Jogos sérios são feitos com a intenção clara de chamar assuntos sérios à atenção sem perder o factor de "diversão" e são frequentemente aplicados a experiências educacionais. Existem jogos sérios para algumas áreas de ES, no entanto, não foram encontrados jogos digitais educacionais até agora. A filosofia de design de um jogo eficaz para um tópico ES é baseada em funções de aprendizagem e ensino (FAEs) que podem ser convertidas em padrões de design de jogos (PDJs). Um subconjunto dessas mesmas FAEs são dedicadas a tópicos ES que, por sua vez, conduzem a certos PDJs. Com isto em mente, é possível provar que os PDJs previamente mencionados funcionam para o tópico de Arquitetura e Design de Software ao usá-los para desenvolver e implementar um jogo sério à volta desse tópico com êxito. O jogo em questão é um jogo com 5 níveis chamado Codebase Escape, onde o objetivo é completar os níveis ao desbloquear e depois responder a um quiz relacionado com ADS no fim de cada nível com êxito. O jogo foi validado através de um estudo empírico com estudantes com, supostamente, nenhum conhecimento do tópico de ADS. Os estudantes em questão foram divididos em dois grupos de tamanho semelhante, onde o primeiro grupo jogou o jogo e o segundo grupo não jogou o jogo. Depois, os dois grupos responderam um questionário sobre o tópico, onde a diferença de conhecimento entre os grupos foi medida. No contexto da experiência, o desfecho ideal é o primeiro grupo obter um desempenho melhor no questionário que o segundo grupo. Os resultados esperados do projeto é que um jogo educativo eficaz para ADS seja desenvolvido e o subconjunto existente de PDJs para educação de ES seja propriamente validado.Software Architecture and Design (SAD) can be understood as a subtopic of the "Software Engineering" (SE) domain of knowledge and also as a domain area with a wide range of concepts and knowledge with various applications. Serious games are made with the clear intention of addressing serious issues without losing the "fun" factor and are often applied to educational experiences. There are serious games for some SE fields, however, no educational digital games have been found for SAD thus far. The design philosophy of an effective game for a SE topic is based on learning and teaching functions (LTFs) that are able to be converted to game design patterns (GDPs). A subset of these same LTFs are dedicated to SE topics which, in turn, translate to certain GDPs. With this in mind, it is possible to prove that the aforementioned GDPs work for the topic of Software Architecture and Design by using them to successfully design and implement a serious game revolving around that topic. The game in question is a game with 5 levels named Codebase Escape, where the goal is to clear the levels by successfully unlocking and then answering a quiz related to SAD at the end of each level. The game was validated through an empirical study with students with, supposedly, no knowledge on the topic of SAD. The students in question were divided into two groups of similar size, where the first group played the game and the second group did not. The two groups then answered a questionnaire about the topic, where the knowledge gap between the groups was measured. In the context of the experiment, the preferred outcome is that the first group performs better at the questionnaire than the second group. The expected results of the project are that an effective educational game for SAD is designed and the existing subset of GDPs for SE education is properly validated
    corecore