-
GPUs are able to provide a tremendous computational power, but their optimal usage requires the optimization of memory access. The many threads available can mitigate the long memory access latencies, but this usually demands a reorganization of the data and algorithm to reach the performance peak. The addressed problem is to know which data layout produces a faster evaluation when dealing with population-based evolutionary algorithms optimizing non-separable functions. This knowledge will allow a more efficient design of evolutionary algorithms. Depending on the fitness function and the problem size, the most suitable layout can be implemented at the design phase of the algorithm, avoiding later costly code or data layout redesigns. In this paper, diverse non-separable functions, such as Rosenbrock and Rana functions, and data layouts are evaluated. The implemented layouts cover main techniques to maximize the performance: coalesced access to global memory, intensive use of on-chip memory: shared memory and registers, and variable reuse to minimize the global memory transactions. Conclusions about the optimum data layout related to the characteristics of the fitness function and the problem size are stated. Besides, the conclusions ease the decision-making process for future implementations of other non-separable functions.
Article details → -
Timed Petri nets (TPN) and hybrid Petri nets (HPN), more precisely first-order HPN (FOHPN), are used here in order to model, analyse and control discrete-event systems (DES) and hybrid systems (HS) of different kinds consisting of cooperating subsystems (modules, agents). Foremost, principles of the particular kinds of Petri nets (PN), including the primary place/transition PN (P/T PN), are explained. Then, two methods of the supervision are introduced. Finally, the corresponding kinds of PN are applied in four case studies in order to solve the problems of modelling, analysing and control. Namely, the throughput of transport systems (rail and road), flexible manufacturing systems (FMS) and the workflow (WF) of the evacuation process from an endangered area (EA) are handled.
Article details → -
These days, we can connect to the internet from almost anywhere, allowing us to access web content, including newspapers, magazines, blogs and websites, using mobile devices such as a smart phone. However, people sometimes struggle to read and use the contents due to the nature of these devices such as a small display, low display resolution and limited computing resources (low CPU speed and little memory). This paper aims to develop a convenient interface that provides keyword extraction, summary generation and search engine to users. We apply the proposed summarization method to Korean and English news articles and evaluate it using several experiments on single and multiple news article test collections and user-receptiveness tests. Since the proposed method shows a good performance on these experiments and tests, we think that this interface can help users more efficiently to read the news articles on various mobile devices.
Article details → -
There is no transliteration standard across all Chinese language regions, including China, Hong Kong, and Taiwan, and variations in Chinese transliteration have thus arisen in the process of transliterating foreign languages (English, for instance) into the Chinese language. In this paper, we propose an integrated confirmation framework to confirm a pair, that is, a transliteration and another term, whether it is synonymous. This framework includes two major steps. First, we study methods from several pronunciation-based approaches to measure similarity between Chinese characters; these approaches are specified for the comparison of Chinese synonymous transliterations. Second, we construct a new confirmation framework to confirm whether a pair of a Chinese transliteration and another Chinese term is synonymous. The presented framework is applied to extract synonymous transliteration pairs from a real-world Web corpus; this is valuable to build a new database of synonymous transliterations or support search engines so that they can return much more complete documents as Web search results to increase the usages in practice. Experiments show that our integrated confirmation framework is effective and robust in confirming and extracting pairs of Chinese transliteration following the collection of synonymous transliterations from the Web corpus.
Article details → -
The aim of this paper is to integrate the strong points of statistical debugging and program slicing techniques for efficient program fault localization. The dynamic slices could be inappropriately large including redundant information considering that the statements are not ranked according to their fault relevance in the computed slice. On the other hand, the conventional statistical debugging techniques do not consider the dependence relationships between the faulty code (i.e., the cause) and the erroneous output (i.e., the effect). This information is very useful during the debugging. In this paper, a new method Stat-Slice for locating the latent bugs in programs is presented which could find a wider range of bugs, e.g. the omitted code faults, the header file faults, and etc., comparing with other techniques. Unlike the traditional program slicing techniques, the proposed method computes the backward dynamic slices of several failing and passing runs. Using K-means clustering in addition to a new ranking and pruning technique, we prioritize statements according to their likelihood to be the cause for failure. Our experiments on Siemens, grep, gzip, and flex test suites manifest that ranking statements according to their suspiciousness has considerably reduced the effort for fault localization.
Article details → -
Networks of evolutionary processors with an underlying octahedron graph consist of 7 language processors which are linked to the vertices of the octahedron graph. Notice that they are located in the 6 facets and the core of a cube graph. Also note that the nodes are only able to perform a type of mutation based on the words found in that node. Each node is associated with an input filter and an output filter, defined by some regular language. Rules are applied to all the words existing in every node. The words, able to pass the output filter of the respective node, are sent out and they navigate through the graph. Such words will enter those nodes provided their input filters are satisfied. The computational power of the network is comparable to Turing machines when the filters are regular languages. We introduce several variants of octahedron networks, depending on rule types and the way of computation plus their computational power. Some known problems are addressed at the end.
Article details → -
The software requirements engineering process is a part of a software development process and one of the key processes in software development. The elicitation, analysis, specification and validation of software requirements occur during the requirements engineering process. Use cases are used as a technique for functional system specification. Different notations can be used for a use case specification. In this paper, we present SilabReq Domain Specific Language (SilabReq DSL) for use case specification. On the one hand, we develop this language to describe the use cases in clear and precise way through the meta-model, and on the other hand to specify the use cases to be readable and understandable for all stakeholders in the software development project. This allows us to develop different transformations to get the structure and the behavior of the system from defined use cases. In this paper apart from the SilabReq DSL, we present some of these transformations.
Article details → -
In this paper we focus on a hardware realization of web services (WS) and their integration within the service-oriented architecture (SOA). Previous approaches to the implementation of network-enabled services in hardware covered only very specific types of applications and were platform-dependent. Our contribution is a generic framework where heterogeneous everyday objects are enhanced with appropriate hardware extensions. This turns them into intelligent electronic devices that can sense the environment as well as interact with it, exposing their functionality via public WS interface. An integration scheme is introduced to allow the augmented objects to be used within highly distributed enterprise applications. Each web service is mapped to a functionally equivalent Open Services Gateway initiative (OSGi) service so that it can be dynamically added to the pool of elementary services accessible within the enterprise service bus (ESB). Our approach is exemplified by several web services for environment monitoring, mechanical control and visual inspection, all implemented in a reconfigurable hardware. A case study of integrating and using such services is also presented.
Article details → -
We have considered implementation of parallel test pattern generator based on a linear feedback shift register (LFSR) with multiple outputs used as a building block in built-in-self-test (BIST) design within SoC. The proposed design can drive several circuits under test (CUT) simultaneously. The mathematical procedure for concurrent pseudo random number (PRN) generation is described. We have implemented LFSRs that generate two and three PRNs in FPGA and ASIC technology. The design was tested at the operating frequency of 400 MHz. Performance which relate to silicon area, dynamic power consumption and speed of operation were estimated. Synopsis Design Compiler and IHP's 130 nm CMOS ASIC design kit were used for synthesis, routing and mapping of LFSR design. Total silicon area of the LFSR with three parallel outputs and polynomial of degree 32, is 0.012 mm2, and dynamic power consumption is less than 1.3 mW. Obtained results indicate that the area overhead and power consumption are small enough and proportional to the degree of feedback polynomial.
Article details → -
Software measurement is a crucial part of a good software engineering. Software developers quantify the software to see if the use cases are complete, if the analysis model is consistent with requirements and if the code is ready to be tested. Software project managers assess the software process and the software product to determine if it is going to be finished on time and within budget. Customers evaluate the final product if it meets their needs. Overall, the main purpose of software engineering is to make software systems controllable and foreseeable, activities with a solid method rather than intuitional, complicated or unprincipled. Software measurement studies are about quantifying the software engineering entities and attributes, both of which aim to support software development efforts and quality improvement. In this paper, we quantify a set of relationships using the current size, defect and object-oriented software metrics practically and pragmatically. Our paper proposes a method to measure the productivity of individual software programmers. Furthermore, this method provides a common opinion for understanding, controlling and improving the software engineering practices.
Article details →