99,213 research outputs found

    SAGA: A DSL for Story Management

    Full text link
    Video game development is currently a very labour-intensive endeavour. Furthermore it involves multi-disciplinary teams of artistic content creators and programmers, whose typical working patterns are not easily meshed. SAGA is our first effort at augmenting the productivity of such teams. Already convinced of the benefits of DSLs, we set out to analyze the domains present in games in order to find out which would be most amenable to the DSL approach. Based on previous work, we thus sought those sub-parts that already had a partially established vocabulary and at the same time could be well modeled using classical computer science structures. We settled on the 'story' aspect of video games as the best candidate domain, which can be modeled using state transition systems. As we are working with a specific company as the ultimate customer for this work, an additional requirement was that our DSL should produce code that can be used within a pre-existing framework. We developed a full system (SAGA) comprised of a parser for a human-friendly language for 'story events', an internal representation of design patterns for implementing object-oriented state-transitions systems, an instantiator for these patterns for a specific 'story', and three renderers (for C++, C# and Java) for the instantiated abstract code.Comment: In Proceedings DSL 2011, arXiv:1109.032

    Software Design Guidelines for Usability

    Get PDF
    For years, the Human Computer Interaction (HCI) community has crafted usability guidelines that clearly define what
characteristics a software system should have in order to be easy to use. However, in the Software Engineering (SE)
community keep falling short of successfully incorporating these recommendations into software projects. From a SE
perspective, the process of incorporating usability features into software is not always straightforward, as a large number
of these features have heavy implications in the underlying software architecture. For example, successfully including an
“undo” feature in an application requires the design and implementation of many complex interrelated data structures and
functionalities. Our work is focused upon providing developers with a set of software design patterns to assist them in the
process of designing more usable software. This would contribute to the proper inclusion of specific usability features
with high impact on the software design. Preliminary validation data show that usage of the guidelines also has positive
effects on development time and overall software design quality

    Aspect-oriented interaction in multi-organisational web-based systems

    Get PDF
    Separation of concerns has been presented as a promising tool to tackle the design of complex systems in which cross-cutting properties that do not fit into the scope of a class must be satisfied. Unfortunately, current proposals assume that objects interact by means of object-oriented method calls, which implies that they embed interactions with others into their functional code. This makes them dependent on this interaction model, and makes it difficult to reuse them in a context in which another interaction model is more suited, e.g., tuple spaces, multiparty meetings, ports, and so forth. In this paper, we show that functionality can be described separately from the interaction model used, which helps enhance reusability of functional code and coordination patterns. Our proposal is innovative in that it is the first that achieves a clear separation between functionality and interaction in an aspect-oriented manner. In order to show that it is feasible, we adapted the multiparty interaction model to the context of multiorganisational web-based systems and developed a class framework to build business objects whose performance rates comparably to handmade implementations; the development time, however, decreases significantly.ComisiĂłn Interministerial de Ciencia y TecnologĂ­a TIC2000-1106-C02-0

    SISO Space Reference FOM - Tools and Testing

    Get PDF
    The Simulation Interoperability Standards Organization (SISO) Space Reference Federation Object Model (SpaceFOM) version 1.0 is nearing completion. Earlier papers have described the use of the High Level Architecture (HLA) in Space simulation as well as technical aspects of the SpaceFOM. This paper takes a look at different SpaceFOM tools and how they were used during the development and testing of the standard.The first organizations to develop SpaceFOM-compliant federates for SpaceFOM development and testing were NASA's Johnson Space Center (JSC), the University of Calabria (UNICAL), and Pitch Technologies.JSC is one of NASA's lead centers for human space flight. Much of the core distributed simulation technology development, specifically associated with the SpaceFOM, is done by the NASA Exploration Systems Simulations (NExSyS) team. One of NASA's principal simulation development tools is the Trick Simulation Environment. NASA's NExSyS team has been modifying and using Trick and TrickHLA to help develop and test the SpaceFOM.The System Modeling And Simulation Hub Laboratory (SMASH-Lab) at UNICAL has developed the Simulation Exploration Experience (SEE) HLA Starter kit, that has been used by most SEE teams involved in the distributed simulation of a Moon base. It is particularly useful for the development of federates that are compatible with the SpaceFOM. The HLA Starter Kit is a Java based tool that provides a well-structured framework to simplify the formulation, generation, and execution of SpaceFOM-compliant federates.Pitch Technologies, a company specializing in distributed simulation, is utilizing a number of their existing HLA tools to support development and testing of the SpaceFOM. In addition to the existing tools, Pitch has developed a few SpaceFOM specific federates: Space Master for managing the initialization, execution and pacing of any SpaceFOM federation; EarthEnvironment, a simple Root Reference Publisher; and Space Monitor, a graphical tool for monitoring reference frames and physical entities.Early testing of the SpaceFOM was carried out in the SEE university outreach program, initiated in SISO. Students were given a subset of the FOM, that was later extended. Sample federates were developed and frameworks were developed or adapted to the early FOM versions.As drafts of the standard matured, testing was performed using federates from government, industry, and academia. By mixing federates developed by different teams the standard could be tested with respect to functional correctness, robustness and clarity.These frameworks and federates have been useful when testing and verifying the design of the standard. In addition to this, they have since formed a starting point for developing SpaceFOM-compliant federations in several projects, for example for NASA, ESA as well as SEE

    The C++0x "Concepts" Effort

    Full text link
    C++0x is the working title for the revision of the ISO standard of the C++ programming language that was originally planned for release in 2009 but that was delayed to 2011. The largest language extension in C++0x was "concepts", that is, a collection of features for constraining template parameters. In September of 2008, the C++ standards committee voted the concepts extension into C++0x, but then in July of 2009, the committee voted the concepts extension back out of C++0x. This article is my account of the technical challenges and debates within the "concepts" effort in the years 2003 to 2009. To provide some background, the article also describes the design space for constrained parametric polymorphism, or what is colloquially know as constrained generics. While this article is meant to be generally accessible, the writing is aimed toward readers with background in functional programming and programming language theory. This article grew out of a lecture at the Spring School on Generic and Indexed Programming at the University of Oxford, March 2010

    Pattern languages in HCI: A critical review

    Get PDF
    This article presents a critical review of patterns and pattern languages in human-computer interaction (HCI). In recent years, patterns and pattern languages have received considerable attention in HCI for their potential as a means for developing and communicating information and knowledge to support good design. This review examines the background to patterns and pattern languages in HCI, and seeks to locate pattern languages in relation to other approaches to interaction design. The review explores four key issues: What is a pattern? What is a pattern language? How are patterns and pattern languages used? and How are values reflected in the pattern-based approach to design? Following on from the review, a future research agenda is proposed for patterns and pattern languages in HCI

    Adopting building information modeling (BIM) as collaboration platform in the design industry

    Get PDF
    This paper discusses the preliminary findings of an ongoing research project aimed at developing a technological, operational and strategic analysis of adopting BIM in AEC/FM (Architecture-Engineering-Construction/Facility Management) industry as a collaboration tool. Outcomes of the project will provide specifications and guidelines as well as establish industry standards for implementing BIM in practice. This research primarily focuses on BIM model servers as a collaboration platform, and hence the guidelines are aimed at enhancing collaboration capabilities. This paper reports on the findings from: (1) a critical review of latest BIM literature and commercial applications, and (2) workshops with focus groups on changing work-practice, role of technology, current perception and expectations of BIM. Layout for case studies being undertaken is presented. These findings provide a base to develop comprehensive software specifications and national guidelines for BIM with particular emphasis on BIM model servers as collaboration platforms

    A Pattern Language for High-Performance Computing Resilience

    Full text link
    High-performance computing systems (HPC) provide powerful capabilities for modeling, simulation, and data analytics for a broad class of computational problems. They enable extreme performance of the order of quadrillion floating-point arithmetic calculations per second by aggregating the power of millions of compute, memory, networking and storage components. With the rapidly growing scale and complexity of HPC systems for achieving even greater performance, ensuring their reliable operation in the face of system degradations and failures is a critical challenge. System fault events often lead the scientific applications to produce incorrect results, or may even cause their untimely termination. The sheer number of components in modern extreme-scale HPC systems and the complex interactions and dependencies among the hardware and software components, the applications, and the physical environment makes the design of practical solutions that support fault resilience a complex undertaking. To manage this complexity, we developed a methodology for designing HPC resilience solutions using design patterns. We codified the well-known techniques for handling faults, errors and failures that have been devised, applied and improved upon over the past three decades in the form of design patterns. In this paper, we present a pattern language to enable a structured approach to the development of HPC resilience solutions. The pattern language reveals the relations among the resilience patterns and provides the means to explore alternative techniques for handling a specific fault model that may have different efficiency and complexity characteristics. Using the pattern language enables the design and implementation of comprehensive resilience solutions as a set of interconnected resilience patterns that can be instantiated across layers of the system stack.Comment: Proceedings of the 22nd European Conference on Pattern Languages of Program
    • …
    corecore