453 research outputs found

    Languages of games and play: A systematic mapping study

    Get PDF
    Digital games are a powerful means for creating enticing, beautiful, educational, and often highly addictive interactive experiences that impact the lives of billions of players worldwide. We explore what informs the design and construction of good games to learn how to speed-up game development. In particular, we study to what extent languages, notations, patterns, and tools, can offer experts theoretical foundations, systematic techniques, and practical solutions they need to raise their productivity and improve the quality of games and play. Despite the growing number of publications on this topic there is currently no overview describing the state-of-the-art that relates research areas, goals, and applications. As a result, efforts and successes are often one-off, lessons learned go overlooked, language reuse remains minimal, and opportunities for collaboration and synergy are lost. We present a systematic map that identifies relevant publications and gives an overview of research areas and publication venues. In addition, we categorize research perspectives along common objectives, techniques, and approaches, illustrated by summaries of selected languages. Finally, we distill challenges and opportunities for future research and development

    FRAME: frame routing and manipulation engine

    Get PDF
    This research reports on the design and implementation of FRAME: an embedded hardware network processing platform designed to perform network frame manipulation and monitoring. This is possible at line speeds compliant with the IEEE 802.3 Ethernet standard. The system provides frame manipulation functionality to aid in the development and implementation of network testing environments. Platform cost and ease of use are both considered during design resulting in fabrication of hardware and the development of Link, a Domain Specific Language used to create custom applications that are compatible with the platform. Functionality of the resulting platform is shown through conformance testing of designed modules and application examples. Throughput testing showed that the peak throughput achievable by the platform is limited to 86.4 Mbit/s, comparable to commodity 100 Mbit hardware and the total cost of the prototype platform ranged between 220and220 and 254

    Model-Driven Development of Aspect-Oriented Software Architectures

    Full text link
    The work presented in this thesis of master is an approach that takes advantage of the Model-Driven Development approach for developing aspect-oriented software architectures. A complete MDD support for the PRISMA approach is defined by providing code generation, verification and reusability properties.Pérez Benedí, J. (2007). Model-Driven Development of Aspect-Oriented Software Architectures. http://hdl.handle.net/10251/12451Archivo delegad

    Refinement kinds: type-safe programming with practical type-level computation

    Get PDF
    UID/CEC/04516/2019 PTDC/EEICTP/4293/2014This work introduces the novel concept of kind refinement, which we develop in the context of an explicitly polymorphic ML-like language with type-level computation. Just as type refinements embed rich specifications by means of comprehension principles expressed by predicates over values in the type domain, kind refinements provide rich kind specifications by means of predicates over types in the kind domain. By leveraging our powerful refinement kind discipline, types in our language are not just used to statically classify program expressions and values, but also conveniently manipulated as tree-like data structures, with their kinds refined by logical constraints on such structures. Remarkably, the resulting typing and kinding disciplines allow for powerful forms of type reflection, ad-hoc polymorphism and type-directed meta-programming, which are often found in modern software development, but not typically expressible in a type-safe manner in general purpose languages. We validate our approach both formally and pragmatically by establishing the standard meta-theoretical results of type safety and via a prototype implementation of a kind checker, type checker and interpreter for our language.publishersversionpublishe

    A lingualization strategy for knowledge sharing in large-scale DevOps

    Get PDF
    DevOps has become a generally accepted practice for software projects in the last decade and approaches certain shortcomings of the agile software development and the steadily gaining popularity of cloud infrastructure. While it shifts more and more responsibilities towards software engineering teams, the prevailing opinion is to keep DevOps teams small to reduce the complexity of inter-team communication. In circumstances where products outgrow the performance capability of a single team, microservice architecture enables multiple DevOps teams to contribute to the same application and meet the increased requirements. Since DevOps teams operate typically self-sufficiently and more or less independently inside an organization, such large-scale DevOps environments are prone to knowledge-sharing barriers. Textual Domain-Specific Languages (DSLs) are one of the cornerstones of DevOps and enable key features like automation and infrastructure provisioning. Nonetheless, most commonly accepted DSLs in the context of DevOps are cumbersome and have a steep learning curve. Thus, they fall short of their potential to truly enable cross-functional collaboration and knowledge sharing, not only between development and operation, but to the whole organization. DevOps teams require tools and DSLs, that treat knowledge sharing and reuse as a first-class citizen, in order to operate sufficiently on a large scale. However, developing DSLs is still presumed as an expensive task which can easily offset the resulting benefits. This dissertation presents a lingualization strategy for addressing the challenge of knowledge sharing in large-scale DevOps. The basic idea is to provide custom-tailored Domain-Specific Modeling Languages (DSMLs) that target single phases of the DevOps lifecycle and ease the DevOps adoption for newly formed teams. The paradigm of Language-Driven Engineering (LDE) bridges the semantic gap between stakeholders by custom-tailored DSMLs and thus is a natural fit for knowledge sharing. Key to a successful practice of LDE is as a new class of stakeholders. In the context of large-scale DevOps, language development can be realized by so-called Meta DevOps teams. Those teams, which themselves practice DevOps internally, manage a centralized repository of small DSMLs and offer them as a service. DevOps teams act as the customers of the Meta DevOps teams and can request new features or complete new DSMLs and provide feedback to already existing DSMLs. The presented Rig modeling environment serves as an exemplary DSML that targets the purpose of Continuous Integration and Deployment (CI/CD), one of the most important building blocks of DevOps. Rig comes with an associated code generator to fully-generate CI/CD workflows from graphical models. Those graphical models provide an executable documentation and assist knowledge-sharing between stakeholders. The fundamental modeling concepts of the lingualization strategy are evaluated against previously published requirements by Bordeleau et al. on a DevOps modeling framework in an industrial context. In addition to that, Rig is evaluated based on results of a workshop during the 6th International School on Tool-Based Rigorous Engineering of Software Systems. Both evaluations yield encouraging results and demonstrate the potential of the lingualization strategy to break down knowledge-sharing barriers in large-scale DevOps environments
    corecore