44,358 research outputs found
Formalizing homogeneous language embeddings
The cost of implementing syntactically distinct Domain Specific Languages (DSLs) can
be reduced by homogeneously embedding them in a host language in cooperation with its
compiler. Current homogeneous embedding approaches either restrict the embedding of
multiple DSLs in order to provide safety guarantees, or allow multiple DSLs to be embedded
but force the user to deal with the interoperability burden. In this paper we present the
m-calculus which allows parameterisable language embeddings to be specified and analysed.
By reducing the problem to its core essentials we are able to show how multiple,
expressive language embeddings can be defined in a homogeneous embedding context. We
further show how variant calculi with safety guarantees can be defined
SAGA: A project to automate the management of software production systems
The Software Automation, Generation and Administration (SAGA) project is investigating the design and construction of practical software engineering environments for developing and maintaining aerospace systems and applications software. The research includes the practical organization of the software lifecycle, configuration management, software requirements specifications, executable specifications, design methodologies, programming, verification, validation and testing, version control, maintenance, the reuse of software, software libraries, documentation, and automated management
Recommended from our members
Learning design – making practice explicit
New technologies have immense potential for learning, but the sheer variety possible also creates challenges for learners in terms of navigating through an increasingly complex digital landscape and for teachers in terms of how to design and support learning interventions. How can learners and teachers make informed decisions about what technologies to use in the design and support of learning activities? This presentation will consider this question and present a new methodology for design – 'learning design', which aims to shift the creation and support of learning from what has traditionally been an implicit, belief-based practice to one that is explicit and design based. Learning design research at the Open University, UK has included the development of a set of conceptual design views, a tool for visualising designs (CompendiumLD) and a social networking site, for sharing and discussing learning and teaching ideas and designs (Cloudworks). An overview of this work will be provided, along with a discussion of the perceived benefits of this new approach to educational design
Model Exploration Using OpenMOLE - a workflow engine for large scale distributed design of experiments and parameter tuning
OpenMOLE is a scientific workflow engine with a strong emphasis on workload
distribution. Workflows are designed using a high level Domain Specific
Language (DSL) built on top of Scala. It exposes natural parallelism constructs
to easily delegate the workload resulting from a workflow to a wide range of
distributed computing environments. In this work, we briefly expose the strong
assets of OpenMOLE and demonstrate its efficiency at exploring the parameter
set of an agent simulation model. We perform a multi-objective optimisation on
this model using computationally expensive Genetic Algorithms (GA). OpenMOLE
hides the complexity of designing such an experiment thanks to its DSL, and
transparently distributes the optimisation process. The example shows how an
initialisation of the GA with a population of 200,000 individuals can be
evaluated in one hour on the European Grid Infrastructure.Comment: IEEE High Performance Computing and Simulation conference 2015, Jun
2015, Amsterdam, Netherland
Separating Agent-Functioning and Inter-Agent Coordination by Activated Modules: The DECOMAS Architecture
The embedding of self-organizing inter-agent processes in distributed
software applications enables the decentralized coordination system elements,
solely based on concerted, localized interactions. The separation and
encapsulation of the activities that are conceptually related to the
coordination, is a crucial concern for systematic development practices in
order to prepare the reuse and systematic integration of coordination processes
in software systems. Here, we discuss a programming model that is based on the
externalization of processes prescriptions and their embedding in Multi-Agent
Systems (MAS). One fundamental design concern for a corresponding execution
middleware is the minimal-invasive augmentation of the activities that affect
coordination. This design challenge is approached by the activation of agent
modules. Modules are converted to software elements that reason about and
modify their host agent. We discuss and formalize this extension within the
context of a generic coordination architecture and exemplify the proposed
programming model with the decentralized management of (web) service
infrastructures
- …