83,395 research outputs found
Overview on agent-based social modelling and the use of formal languages
Transdisciplinary Models and Applications investigates a variety of programming languages used in validating and verifying models in order to assist in their eventual implementation. This book will explore different methods of evaluating and formalizing simulation models, enabling computer and industrial engineers, mathematicians, and students working with computer simulations to thoroughly understand the progression from simulation to product, improving the overall effectiveness of modeling systems.Postprint (author's final draft
Emulating and evaluating hybrid memory for managed languages on NUMA hardware
Non-volatile memory (NVM) has the potential to become a mainstream memory technology and challenge DRAM. Researchers evaluating the speed, endurance, and abstractions of hybrid memories with DRAM and NVM typically use simulation, making it easy to evaluate the impact of different hardware technologies and parameters. Simulation is, however, extremely slow, limiting the applications and datasets in the evaluation. Simulation also precludes critical workloads, especially those written in managed languages such as Java and C#. Good methodology embraces a variety of techniques for evaluating new ideas, expanding the experimental scope, and uncovering new insights.
This paper introduces a platform to emulate hybrid memory for managed languages using commodity NUMA servers. Emulation complements simulation but offers richer software experimentation. We use a thread-local socket to emulate DRAM and a remote socket to emulate NVM. We use standard C library routines to allocate heap memory on the DRAM and NVM sockets for use with explicit memory management or garbage collection. We evaluate the emulator using various configurations of write-rationing garbage collectors that improve NVM lifetimes by limiting writes to NVM, using 15 applications and various datasets and workload configurations. We show emulation and simulation confirm each other's trends in terms of writes to NVM for different software configurations, increasing our confidence in predicting future system effects. Emulation brings novel insights, such as the non-linear effects of multi-programmed workloads on NVM writes, and that Java applications write significantly more than their C++ equivalents. We make our software infrastructure publicly available to advance the evaluation of novel memory management schemes on hybrid memories
Towards a Tool-based Development Methodology for Pervasive Computing Applications
Despite much progress, developing a pervasive computing application remains a
challenge because of a lack of conceptual frameworks and supporting tools. This
challenge involves coping with heterogeneous devices, overcoming the
intricacies of distributed systems technologies, working out an architecture
for the application, encoding it in a program, writing specific code to test
the application, and finally deploying it. This paper presents a design
language and a tool suite covering the development life-cycle of a pervasive
computing application. The design language allows to define a taxonomy of
area-specific building-blocks, abstracting over their heterogeneity. This
language also includes a layer to define the architecture of an application,
following an architectural pattern commonly used in the pervasive computing
domain. Our underlying methodology assigns roles to the stakeholders, providing
separation of concerns. Our tool suite includes a compiler that takes design
artifacts written in our language as input and generates a programming
framework that supports the subsequent development stages, namely
implementation, testing, and deployment. Our methodology has been applied on a
wide spectrum of areas. Based on these experiments, we assess our approach
through three criteria: expressiveness, usability, and productivity
Integrated Design and Implementation of Embedded Control Systems with Scilab
Embedded systems are playing an increasingly important role in control
engineering. Despite their popularity, embedded systems are generally subject
to resource constraints and it is therefore difficult to build complex control
systems on embedded platforms. Traditionally, the design and implementation of
control systems are often separated, which causes the development of embedded
control systems to be highly time-consuming and costly. To address these
problems, this paper presents a low-cost, reusable, reconfigurable platform
that enables integrated design and implementation of embedded control systems.
To minimize the cost, free and open source software packages such as Linux and
Scilab are used. Scilab is ported to the embedded ARM-Linux system. The drivers
for interfacing Scilab with several communication protocols including serial,
Ethernet, and Modbus are developed. Experiments are conducted to test the
developed embedded platform. The use of Scilab enables implementation of
complex control algorithms on embedded platforms. With the developed platform,
it is possible to perform all phases of the development cycle of embedded
control systems in a unified environment, thus facilitating the reduction of
development time and cost.Comment: 15 pages, 14 figures; Open Access at
http://www.mdpi.org/sensors/papers/s8095501.pd
Recommended from our members
Modeling and simulation of data communication networks using SARA
The selection of an appropriate simulation language can have a profound impact on the success of a simulation study. The available options range from domain-specific simulation languages to general-purpose programming languages. These languages are often supported by a collection of tools which form a simulation system. This paper examines UCLA's SARA (Systems ARchitects' Apprentice) system and explores its' usefulness in modeling and simulating a data communications network. Based on experimental use of SARA's tools, the system is evaluated with respect to required expertise, modeling power, as well as measurement and reporting capability
A Survey of Digital Systems Curriculum and Pedagogy in Electrical and Computer Engineering Programs
Digital Systems is one of the basic foundational courses in Electrical and Computer Engineering. One of the challenges in designing and modifying the curriculum for the course is the fast pace of technology change in the area. TTL chips that were in vogue with students building physical circuits, have given way to new paradigms like FPGA based synthesis with hardware description languages such as VHDL. However, updating a course is not as simple as just changing the book, and changing the syllabus. A large amount of work needs to be done in terms of selecting the book that will accommodate the course, the device that should be used, the laboratory content, and even how much time needs to be dedicated for every topic. All these issues, and many more makes it hard to take the decision of updating the course. For that reason, this paper surveys the pedagogy and methodology that is used to teach the digital systems curriculum at different universities. The goal is that it will serve as a resource for faculty looking to update or revamp their digital systems curricula. Within the document they will find a comparative study by electrical and computer engineering program, a list of textbooks, and the devices most commonly used.Cockrell School of Engineerin
- …