2,342 research outputs found
Modular Acquisition and Stimulation System for Timestamp-Driven Neuroscience Experiments
Dedicated systems are fundamental for neuroscience experimental protocols
that require timing determinism and synchronous stimuli generation. We
developed a data acquisition and stimuli generator system for neuroscience
research, optimized for recording timestamps from up to 6 spiking neurons and
entirely specified in a high-level Hardware Description Language (HDL). Despite
the logic complexity penalty of synthesizing from such a language, it was
possible to implement our design in a low-cost small reconfigurable device.
Under a modular framework, we explored two different memory arbitration schemes
for our system, evaluating both their logic element usage and resilience to
input activity bursts. One of them was designed with a decoupled and latency
insensitive approach, allowing for easier code reuse, while the other adopted a
centralized scheme, constructed specifically for our application. The usage of
a high-level HDL allowed straightforward and stepwise code modifications to
transform one architecture into the other. The achieved modularity is very
useful for rapidly prototyping novel electronic instrumentation systems
tailored to scientific research.Comment: Preprint submitted to ARC 2015. Extended: 16 pages, 10 figures. The
final publication is available at link.springer.co
Early aspects: aspect-oriented requirements engineering and architecture design
This paper reports on the third Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop, which has been held in Lancaster, UK, on March 21, 2004. The workshop included a presentation session and working sessions in which the particular topics on early aspects were discussed. The primary goal of the workshop was to focus on challenges to defining methodical software development processes for aspects from early on in the software life cycle and explore the potential of proposed methods and techniques to scale up to industrial applications
Policies of System Level Pipeline Modeling
Pipelining is a well understood and often used implementation technique for
increasing the performance of a hardware system. We develop several SystemC/C++
modeling techniques that allow us to quickly model, simulate, and evaluate
pipelines. We employ a small domain specific language (DSL) based on resource
usage patterns that automates the drudgery of boilerplate code needed to
configure connectivity in simulation models. The DSL is embedded directly in
the host modeling language SystemC/C++. Additionally we develop several
techniques for parameterizing a pipeline's behavior based on policies of
function, communication, and timing (performance modeling)
On the Specification of Non-functional Properties of Systems by Observation
Domain specific languages play a cornerstone role in Model-Driven
Engineering (MDE) for representing models and metamodels. So far, most of
the MDE community efforts have focused on the specification of the functional
properties of systems. However, the correct and complete specification of
some of their non-functional properties is critical in many important distributed
application domains, such as embedded systems, multimedia applications or
e-commerce services. In this paper we present an approach to specify QoS requirements,
based on the observation of the system actions and of the state of
its objects. We show how this approach can be used to extend languages which
specify behavior in terms of rules, and how QoS characteristics can be easily expressed
and reused across models. We show as well how this approach enables
the specification of other important properties of systems, such as automatic reconfiguration
of the system when some of the QoS properties change.Ministerio de Ciencia e Innovación TIN2008-031087Junta de Andalucía P07-TIC-0318
Lessons learnt from using DSLs for automated software testing
Domain Specific Languages (DSLs) provide a means
of unambiguously expressing concepts in a particular domain.
Although they may not refer to it as such, companies build
and maintain DSLs for software testing on a day-to-day basis,
especially when they define test suites using the Gherkin language.
However, although the practice of specifying and automating test
cases using the Gherkin language and related technologies such
as Cucumber has become mainstream, the curation of such languages presents a number of challenges. In this paper we discuss
lessons learnt from five case studies on industry systems, two
involving the use of Gherkin-type syntax and another three case
studies using more rigidly defined language grammars. Initial
observations indicate that the likelihood of success of such efforts
is increased if one manages to use an approach which separates
the concerns of domain experts who curate the language, users
who write scripts with the language, and engineers who wire
the language into test automation technologies thus producing
executable test code. We also provide some insights into desirable
qualities of testing DSLs in different contexts.peer-reviewe
Automated Test Case Generation from Domain-Specific High-Level Requirement Models
One of the most researched aspects of the software engineering process is the verification and validation of software systems using various techniques. The need to ensure that the developed software system addresses its intended specifications has led to several approaches that link the requirements gathering and software testing phases of development. This thesis presents a framework that bridges the gap between requirement specification and testing of software using domain-specific modelling concepts. The proposed modelling notation, High-Level Requirement Modelling Language (HRML), addresses the drawbacks of Natural Language (NL) for high-level requirement specifications including ambiguity and incompleteness. Real-time checks are implemented to ensure valid HRML specification models are utilised for the automated test cases generation. The type of HRML requirement specified in the model determines the approach to be employed to generate corresponding test cases. Boundary Value Analysis and Equivalence Partitioning is applied to specifications with predefined range values to generate valid and invalid inputs for robustness test cases. Structural coverage test cases are also generated to satisfy the Modified Condition/Decision Coverage (MC/DC) criteria for HRML specifications with logic expressions. In scenarios where the conditional statements are combined with logic expressions, the MC/DC approach is extended to generate the corresponding tests cases. Evaluation of the proposed framework by industry experts in a case study, its scalability, comparative study and the assessment of its learnability by non-experts are reported. The results indicate a reduction in the test case generation process in the case study, however non-experts spent more time in modelling the requirement in HRML while the time taken for test case generation is also reduced
- …