Strongly-typed functional languages provide a powerful framework for embedding Domain-Specific Languages (DSLs). However, building type-safe functions defined over an embedded DSL can introduce application-specific ty...
详细信息
ISBN:
(纸本)9781450310543
Strongly-typed functional languages provide a powerful framework for embedding Domain-Specific Languages (DSLs). However, building type-safe functions defined over an embedded DSL can introduce application-specific type constraints that end up being imposed on the DSL data types themselves. At best, these constraints are unwieldy and at worst they can limit the range of DSL expressions that can be built. We present a simple solution to this problem that allows application-specific constraints to be specified at the point of use of a DSL expression rather than when the DSL's embedding types are defined. Our solution applies equally to both tagged and tagless representations and, importantly, also works in the presence of higher-rank types.
Generic programming is a mechanism for re-using code by abstracting specific types used in classes and programs. In this paper, we present a mechanism for adding generic programming in dynamically typed languages, sho...
详细信息
ISBN:
(纸本)9789898565198
Generic programming is a mechanism for re-using code by abstracting specific types used in classes and programs. In this paper, we present a mechanism for adding generic programming in dynamically typed languages, showing how programmers can benefit from generic programming. Furthermore, we enhance the expressiveness of generic programming with reverse generics, a mechanism for automatically deriving new generic code starting from existing non-generic one. We implemented generics and reverse generics in Pharo Smalltalk, and we successfully used them to solve a problem of reusing unit test cases. this helped us to identify a number of bugs and anomalies in the stream class hierarchy.
the aim of this study was to investigate a behavior of students during cooperative learning about computer programming and its influence on learning performance. Students' opinions and perceptions toward proposed ...
详细信息
ISBN:
(纸本)9781908272447
the aim of this study was to investigate a behavior of students during cooperative learning about computer programming and its influence on learning performance. Students' opinions and perceptions toward proposed learning activity and a web-based programming assisted system for cooperation (WPASC) were also investigated. the results of this study revealed most of students perceived the learning activity and the WPASC were useful for cooperative learning about programming. Students' learning behavior was classified into six categories and it influenced learning performance. Students from completely independent, self-improving using assistance, confident after enlightenment and imitating categories performed well due to effective and motivated learning behavior. Students from performing poorly without assistance and plagiarizing categories performed the worse;most students could not get assistance due to their low learning motivation. the results also showed that learning behavior may have increasing, decreasing and no transition. therefore students of performing poorly without assistance and plagiarizing categories and with decreasing or no transition in learning behavior should be identified at the early stage of the course. then the instructor should intervene into learning behavior of these students to change it into more effective for learning, give more incentive to increase motivation and also encourage all students to post solutions and feedback at the early stage of problem solving process.
this paper presents an event-driven approach for the separation of concerns in software systems. We introduce the EventJ framework that provides an event-driven extension to the Java programming language. the paper de...
详细信息
ISBN:
(纸本)9789898565136
this paper presents an event-driven approach for the separation of concerns in software systems. We introduce the EventJ framework that provides an event-driven extension to the Java programming language. the paper describes a general methodology that can be used to identify the cross-cutting concerns and separate them from the main functionality using events and event handlers. We discuss the pre-requisites to perform this change and illustrate it with a concrete example. Finally, we make a comparison between the event-driven approach and the aspect-oriented one, and conclude that the use of events to separate concerns has a positive effect on software quality attributes such as maintainability, extensibility and reusability.
To increase human trust in robots, we have developed a system that provides insight into robotic behaviors by enabling a robot to answer questions people pose about its actions (e.g., Q: Why did you turn left there? A...
详细信息
this paper presents a research idea related to the use of Pair programming in the context of Distributed Software Development. Organizations have been distributing their software development activities around the worl...
详细信息
Cognitive radio networks suffer from dynamic interruptions from primary users. the joint congestion control and routing are tackled using stochastic control techniques. Centralized dynamic programming is applied for t...
详细信息
ISBN:
(纸本)9781936968558
Cognitive radio networks suffer from dynamic interruptions from primary users. the joint congestion control and routing are tackled using stochastic control techniques. Centralized dynamic programming is applied for the primal optimization, which provides a performance upper bound. Q-learning is applied when the primary user knowledge is unknown. Dual optimization based decomposition is used to decentralize the stochastic control. A heuristic scheme based on the limited lookahead policy (LLP) and binary pricing is proposed to tackle the prohibitive difficulty in the dual optimization. Numerical simulation shows that the proposed algorithms achieve the optimal or near-optimal performance.
Successful deployment of cognitive radios requires efficient sensing of the spectrum and dynamic adaptation of the available resources according to the sensed (imperfect) information. While most works design these two...
详细信息
ISBN:
(纸本)9781936968558
Successful deployment of cognitive radios requires efficient sensing of the spectrum and dynamic adaptation of the available resources according to the sensed (imperfect) information. While most works design these two tasks separately, in this paper the sensing and resource allocation schemes are designed jointly. We investigate an interweave CR with multiple secondary users that access orthogonally a set frequency bands originally devoted to primary users. the schemes are designed to optimize the performance of the secondary users while limiting the "probability of interfering" the primary users. the joint design is addressed using dynamic programming and nonlinear optimization techniques. A two-step strategy that first finds the optimal resource allocation for any sensing scheme and then uses that solution as input to solve for the optimal sensing policy is implemented. the two-step strategy is optimal and entails a computational complexity much lower than that required to solve the original formulation.
this paper presents an operation and control system for gas burner management of steam boiler and discuss about the system structure and implementation of smooth automatic operation using programmable logic controller...
详细信息
ISBN:
(纸本)9781467314343;9781467314350
this paper presents an operation and control system for gas burner management of steam boiler and discuss about the system structure and implementation of smooth automatic operation using programmable logic controller (PLC). All criteria for safe starting of a burner are taken into account in the PLC program with self protection and operation. the presented control system is simulated and tested on SIMATIC S7-200 Controller with SIMATIC STEP 7-Micro/WIN programming software presents the feasibility of real time system deployment. Such systems are of frequent interest over analog and relay based old control systems provide less complexity in troubleshooting, commissioning and controlling as well as ease of expansion or communication with other discrete control modules.
Various techniques for testing embedded software have been proposed as a result of the increased need for high quality embedded systems. However, it is hard to perform accurate testing withthese techniques on failure...
详细信息
ISBN:
(纸本)9789898565198
Various techniques for testing embedded software have been proposed as a result of the increased need for high quality embedded systems. However, it is hard to perform accurate testing withthese techniques on failures that can occur unexpectedly in a real environment, because most of the tests are performed in software development environment. therefore, it needs a testing technique that can dynamically test software's latent faults in a real environment. In this paper, we propose an aspect-based On-the-Fly testing. the purpose of which is to test the functionalities and non-functionalities of embedded software using aspect-oriented programming at run-time in a real environment. Our proposed technique provides some advantages of prevention of software malfunction in a real environment and high reusability of test code.
暂无评论