scispace - formally typeset
Search or ask a question

Showing papers in "Software - Practice and Experience in 2017"


Journal ArticleDOI
TL;DR: In this paper, the authors propose a simulator, called iFogSim, to model IoT and fog environments and measure the impact of resource management techniques in latency, network congestion, energy consumption, and cost.
Abstract: Summary Internet of Things (IoT) aims to bring every object (eg, smart cameras, wearable, environmental sensors, home appliances, and vehicles) online, hence generating massive volume of data that can overwhelm storage systems and data analytics applications. Cloud computing offers services at the infrastructure level that can scale to IoT storage and processing requirements. However, there are applications such as health monitoring and emergency response that require low latency, and delay that is caused by transferring data to the cloud and then back to the application can seriously impact their performances. To overcome this limitation, Fog computing paradigm has been proposed, where cloud services are extended to the edge of the network to decrease the latency and network congestion. To realize the full potential of Fog and IoT paradigms for real-time analytics, several challenges need to be addressed. The first and most critical problem is designing resource management techniques that determine which modules of analytics applications are pushed to each edge device to minimize the latency and maximize the throughput. To this end, we need an evaluation platform that enables the quantification of performance of resource management policies on an IoT or Fog computing infrastructure in a repeatable manner. In this paper we propose a simulator, called iFogSim, to model IoT and Fog environments and measure the impact of resource management techniques in latency, network congestion, energy consumption, and cost. We describe two case studies to demonstrate modeling of an IoT environment and comparison of resource management policies. Moreover, scalability of the simulation toolkit of RAM consumption and execution time is verified under different circumstances.

1,085 citations


Journal ArticleDOI
TL;DR: This paper introduces ContainerCloudSim, which provides support for modeling and simulation of containerized cloud computing environments and developed a simulation architecture for containerized clouds and implemented it as an extension of CloudSim.
Abstract: Summary Containers are increasingly gaining popularity and becoming one of the major deployment models in cloud environments. To evaluate the performance of scheduling and allocation policies in containerized cloud data centers, there is a need for evaluation environments that support scalable and repeatable experiments. Simulation techniques provide repeatable and controllable environments, and hence, they serve as a powerful tool for such purpose. This paper introduces ContainerCloudSim, which provides support for modeling and simulation of containerized cloud computing environments. We developed a simulation architecture for containerized clouds and implemented it as an extension of CloudSim. We described a number of use cases to demonstrate how one can plug in and compare their container scheduling and provisioning policies in terms of energy efficiency and SLA compliance. Our system is highly scalable as it supports simulation of large number of containers, given that there are more containers than virtual machines in a data center. Copyright © 2016 John Wiley & Sons, Ltd.

134 citations


Journal ArticleDOI
TL;DR: A cloud‐based anti‐malware system, called CloudEyes, which provides efficient and trusted security services for resource‐constrained devices and can outperform other existing systems with less time and communication consumption.
Abstract: Summary Because of the rapid increasing of malware attacks on the Internet of Things in recent years, it is critical for resource-constrained devices to guard against potential risks. The traditional host-based security solution becomes puffy and inapplicable with the development of malware attacks. Moreover, it is hard for the cloud-based security solution to achieve both the high performance detection and the data privacy protection simultaneously. This paper proposes a cloud-based anti-malware system, called CloudEyes, which provides efficient and trusted security services for resource-constrained devices. For the cloud server, CloudEyes presents suspicious bucket cross-filtering, a novel signature detection mechanism based on the reversible sketch structure, which provides retrospective and accurate orientations of malicious signature fragments. For the client, CloudEyes implements a lightweight scanning agent which utilizes the digest of signature fragments to dramatically reduce the range of accurate matching. Furthermore, by transmitting sketch coordinates and the modular hashing, CloudEyes guarantees both the data privacy and low-cost communications. Finally, we evaluate the performance of CloudEyes by utilizing both the campus suspicious traffic and normal files. The results demonstrate that the mechanisms in CloudEyes are effective and practical, and our system can outperform other existing systems with less time and communication consumption. Copyright © 2016 John Wiley & Sons, Ltd.

83 citations


Journal ArticleDOI
TL;DR: It is determined that the smartwatch stores a relatively large amount of sensitive user data, including SMS messages, contact information, and biomedical data, and does not effectively protect this user data from physical exfiltration.
Abstract: The increasing convergence of wearable technologies and cloud services in applications, such as health care, could result in new attack vectors for the 'Cloud of Things', which could in turn be exploited to exfiltrate sensitive user data. In this paper, we analyze the types of sensitive user data that may be present on a wearable device and develop a method to demonstrate that they can be exfiltrated by an adversary. To undertake this study, we select the Android Wear smartwatch operating system as a case study and, specifically, the Samsung Gear Live smartwatch. We present a technique that allows an adversary to exfiltrate data from smartwatches. Using this technique, we determine that the smartwatch stores a relatively large amount of sensitive user data, including SMS messages, contact information, and biomedical data, and does not effectively protect this user data from physical exfiltration. Copyright © 2016 John Wiley & Sons, Ltd.

82 citations


Journal ArticleDOI
TL;DR: A new methodology for digital watermarking evaluation and benchmarking based on large‐scale data by using external evaluators and a group decision making context is presented.
Abstract: Digital watermarking evaluation and benchmarking are challenging tasks because of multiple evaluation and conflicting criteria. A few approaches have been presented to implement digital watermarking evaluation and benchmarking frameworks. However, these approaches still possess a number of limitations, such as fixing several attributes on the account of other attributes. Well-known benchmarking approaches are limited to robust watermarking. Therefore, this paper presents a new methodology for digital watermarking evaluation and benchmarking based on large-scale data by using external evaluators and a group decision making context. Two experiments are performed. In the first experiment, a noise gate-based digital watermarking approach is developed, and the scheme for the noise gate digital watermarking approach is enhanced. Sixty audio samples from different audio styles are tested with two algorithms. A total of 120 samples were evaluated according to three different metrics, namely, quality, payload, and complexity, to generate a set of digital watermarking samples. In the second experiment, the situation in which digital watermarking evaluators have different preferences is discussed. Weight measurement with a decision making solution is required to solve this issue. The analytic hierarchy process is used to measure evaluator preference. In the decision making solution, the technique for order of preference by similarity to the ideal solution with different contexts e.g., individual and group is utilized. Therefore, selecting the proper context with different aggregation operators to benchmark the results of experiment 1 i.e., digital watermarking approaches is recommended. The findings of this research are as follows: 1 group and individual decision making provide the same result in this case study. However, in the case of selection where the priority weights are generated from the evaluators, group decision making is the recommended solution to solve the trade-off reflected in the benchmarking process for digital watermarking approaches. 2 Internal and external aggregations show that the enhanced watermarking approach demonstrates better performance than the original watermarking approach. © 2016 The Authors. Software: Practice and Experience published by John Wiley & Sons Ltd.

56 citations


Journal ArticleDOI
TL;DR: Variability‐based, Pattern‐driven Architecture Migration allows an organization to select appropriate migration patterns, compose them to define a migration plan, and extend them based on the identification of new patterns in new contexts.
Abstract: Summary Many organizations migrate on-premise software applications to the cloud. However, current coarse-grained cloud migration solutions have made such migrations a non transparent task, an endeavor based on trial-and-error. This paper presents Variability-based, Pattern-driven Architecture Migration (V-PAM), a migration method based on (i) a catalogue of fine-grained service-based cloud architecture migration patterns that target multi-cloud, (ii) a situational migration process framework to guide pattern selection and composition, and (iii) a variability model to structure system migration into a coherent framework. The proposed migration patterns are based on empirical evidence from several migration projects, best practice for cloud architectures and a systematic literature review of existing research. Variability-based, Pattern-driven Architecture Migration allows an organization to (i) select appropriate migration patterns, (ii) compose them to define a migration plan, and (iii) extend them based on the identification of new patterns in new contexts. The patterns are at the core of our solution, embedded into a process model, with their selection governed by a variability model. Copyright © 2016 John Wiley & Sons, Ltd.

51 citations


Journal ArticleDOI
TL;DR: The proposed deep belief network‐based approach achieves high accuracy with mean square error of [10−6,10−5], approximately 72% reduction compared with the traditional autoregressive integrated moving average predictor, and has better prediction accuracy than the state‐of‐art fractal modeling approach.
Abstract: Summary Accurate resource requests prediction is essential to achieve optimal job scheduling and load balancing for cloud Computing. Existing prediction approaches fall short in providing satisfactory accuracy because of high variances of cloud metrics. We propose a deep belief network (DBN)-based approach to predict cloud resource requests. We design a set of experiments to find the most influential factors for prediction accuracy and the best DBN parameter set to achieve optimal performance. The innovative points of the proposed approach is that it introduces analysis of variance and orthogonal experimental design techniques into the parameter learning of DBN. The proposed approach achieves high accuracy with mean square error of [10−6,10−5], approximately 72% reduction compared with the traditional autoregressive integrated moving average predictor, and has better prediction accuracy compared with the state-of-art fractal modeling approach. Copyright © 2016 John Wiley & Sons, Ltd.

45 citations


Journal ArticleDOI
TL;DR: Acos, a smart learning content server, is presented, which emphasizes the reusability of online learning activities by decoupling the content and existing interoperability protocols and allows integrating the same learning activities into multiple LMSs using different protocols by providing a uniform interface for learning activities.
Abstract: Summary Modern online learning management systems (LMSs) support a variety of online learning activities, such as animations, exercises, and other interactive learning materials. However, there are many technical challenges in using the same activities in multiple LMSs because content is typically tightly coupled with one protocol to communicate with the LMS and different LMSs use different protocols for launching activities and receiving grades. This leads to low reusability of learning activities and similar content being developed in multiple places. To overcome these issues, we present Acos, a smart learning content server, which emphasizes the reusability of online learning activities by decoupling the content and existing interoperability protocols. It allows integrating the same learning activities into multiple LMSs using different protocols by providing a uniform interface for learning activities. Adapting this architecture allows instructors to choose activities based on pedagogical goals instead of letting technical restrictions of LMSs dictate the content selection process. Copyright © 2017 John Wiley & Sons, Ltd.

40 citations


Journal ArticleDOI
TL;DR: A methodology of Digital Forensic Quick Analysis is outlined, which describes a method to review Digital Forensic Data Reduction subsets to pinpoint relevant evidence and intelligence from heterogeneous distributed systems in a timely manner.
Abstract: The growth in the data volume and number of evidential data from heterogeneous distributed systems in smart cities, such as cloud and fog computing systems and Internet-of-Things devices e.g. IP-based CCTVs, has led to increased collection, processing and analysis times, potentially resulting in vulnerable persons e.g. victims of terrorism incidents being at risk. A process of Digital Forensic Data Reduction of source multimedia and forensic images has provided a method to reduce the collection time and volume of data. In this paper, a methodology of Digital Forensic Quick Analysis is outlined, which describes a method to review Digital Forensic Data Reduction subsets to pinpoint relevant evidence and intelligence from heterogeneous distributed systems in a timely manner. Applying the proposed methodology to real-world data from an Australian police agency highlighted the timeliness of the process, resulting in significant improvements in processing times in comparison with processing a full forensic image. The Quick Analysis methodology, combined with Digital Forensic Data Reduction, has potential to locate evidence and intelligence in a timely manner. Copyright © 2016 John Wiley & Sons, Ltd.

40 citations


Journal ArticleDOI
TL;DR: The behaviour of the SAW, TOPSIS and VIKOR multi-objective decision methods and their quality of selection comparing them with the Paretooptimality solutions are anal yse and their behaviour, the number of optimal solutions and redundancy are compared.
Abstract: The growth of real‐world objects with embedded and globally networked sensors allows to consolidate the Internet of things paradigm and increase the number of applications in the domains of ubiquitous and context‐aware computing. The merging between cloud computing and Internet of things named cloud of things will be the key to handle thousands of sensors and their data. One of the main challenges in the cloud of things is context‐aware sensor search and selection. Typically, sensors require to be searched using two or more conflicting context properties. Most of the existing work uses some kind of multi‐criteria decision analysis to perform the sensor search and selection, but does not show any concern for the quality of the selection presented by these methods. In this paper, we analyse the behaviour of the SAW, TOPSIS and VIKOR multi‐objective decision methods and their quality of selection comparing them with the Pareto‐optimality solutions. The gathered results allow to analyse and compare these algorithms regarding their behaviour, the number of optimal solutions and redundancy.

31 citations


Journal ArticleDOI
TL;DR: There is a huge potential of research on architecting cloud‐based systems in areas related to green computing, energy efficient systems, mobile cloud computing, and Internet of Things.
Abstract: Summary The literature on the challenges of and potential solutions to architecting cloud-based systems is rapidly growing but is scattered. It is important to systematically analyze and synthesize the existing research on architecting cloud-based software systems in order to build a cohesive body of knowledge of the reported challenges and solutions. We have systematically identified and reviewed 133 papers that report architecture-related challenges and solutions for cloud-based software systems. This paper reports the methodological details, findings, and implications of a systematic review that has enabled us to identify 44 unique categories of challenges and associated solutions for architecting cloud-based software systems. We assert that the identified challenges and solutions classified into the categories form a body of knowledge that can be leveraged for designing or evaluating software architectures for cloud-based systems. Our key conclusions are that a large number of primary studies focus on middleware services aimed at achieving scalability, performance, response time, and efficient resource optimization. Architecting cloud-based systems presents unique challenges as the systems to be designed range from pervasive embedded systems and enterprise applications to smart devices with Internet of Things. We also conclude that there is a huge potential of research on architecting cloud-based systems in areas related to green computing, energy efficient systems, mobile cloud computing, and Internet of Things. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: A novel labeling scheme based upon regular expressions to compactly represent long sequences and an O(r2) algorithm for computing these labels, based upon the concept of ‘tandem repeats’ in a sequence are presented.
Abstract: The context of this work is a practical, open-source visualization system, called JIVE, that supports two forms of runtime visualizations of Java programs - object diagrams and sequence diagrams. They capture, respectively, the current execution state and execution history of a Java program. These diagrams are similar to those found in the UML for specifying design-time decisions. In our work, we construct these diagrams at execution time, thereby ensuring continuity of notation from design to execution. In so doing, a few extensions to the UML notation are proposed in order to better represent runtime behavior. As sequence diagrams can become long and unwieldy, we present techniques for their compact representation. A key result in this paper is a novel labeling scheme based upon regular expressions to compactly represent long sequences and an Or2 algorithm for computing these labels, where r is the length of the input sequence, based upon the concept of 'tandem repeats' in a sequence. Horizontal compaction greatly helps minimize the extent of white space in sequence diagrams by the elimination of object lifelines and also by grouping lifelines together. We propose a novel extension to the sequence diagram to deal with out-of-model calls when the lifelines of certain classes of objects are filtered out of the visualization, but method calls may occur between in-model and out-of-model calls. The paper also presents compaction techniques for multi-threaded Java execution with different forms of synchronization. Finally, we present experimental results from compacting the runtime visualizations of a variety of Java programs and execution trace sizes in order to demonstrate the practicality and efficacy of our techniques. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: Ahab is a generic, scalable, and fault‐tolerant data processing framework based on the cloud that allows operators to perform online and offline analyses on gathered data to better understand and optimize the behavior of the available smart city infrastructure.
Abstract: Smart city applications generate large amounts of operational data during their execution, such as information from infrastructure monitoring, performance and health events from used toolsets, and application execution logs. These data streams contain vital information about the execution environment that can be used to fine-tune or optimize different layers of a smart city application infrastructure. Current approaches do not sufficiently address the efficient collection, processing, and storage of this information in the smart city domain. In this paper, we present Ahab, a generic, scalable, and fault-tolerant data processing framework based on the cloud that allows operators to perform online and offline analyses on gathered data to better understand and optimize the behavior of the available smart city infrastructure. Ahab is designed for easy integration of new data sources, provides an extensible API to perform custom analysis tasks, and a domain-specific language to define adaptation rules based on analysis results. We demonstrate the feasibility of the proposed approach using an example application for autonomous intersection management in smart city environments. Our framework is able to autonomously optimize application deployment topologies by distributing processing load over available infrastructure resources when necessary based on both online analysis of the current state of the environment and patterns learned from historical data. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: It is argued that the proposed SFS algorithm makes the system highly fault tolerant by considering forward and backward recovery using diverse software tools, laying a foundation for a fully fault‐tolerant infrastructure as a service cloud environment.
Abstract: Author(s): Mohammed, B; Kiran, M; Maiyama, KM; Kamala, MM; Awan, IU | Abstract: Cloud fault tolerance is an important issue in cloud computing platforms and applications. In the event of an unexpected system failure or malfunction, a robust fault-tolerant design may allow the cloud to continue functioning correctly possibly at a reduced level instead of failing completely. To ensure high availability of critical cloud services, the application execution, and hardware performance, various fault-tolerant techniques exist for building self-autonomous cloud systems. In comparison with current approaches, this paper proposes a more robust and reliable architecture using optimal checkpointing strategy to ensure high system availability and reduced system task service finish time. Using pass rates and virtualized mechanisms, the proposed smart failover strategy (SFS) scheme uses components such as cloud fault manager, cloud controller, cloud load balancer, and a selection mechanism, providing fault tolerance via redundancy, optimized selection, and checkpointing. In our approach, the cloud fault manager repairs faults generated before the task time deadline is reached, blocking unrecoverable faulty nodes as well as their virtual nodes. This scheme is also able to remove temporary software faults from recoverable faulty nodes, thereby making them available for future request. We argue that the proposed SFS algorithm makes the system highly fault tolerant by considering forward and backward recovery using diverse software tools. Compared with existing approaches, preliminary experiment of the SFS algorithm indicates an increase in pass rates and a consequent decrease in failure rates, showing an overall good performance in task allocations. We present these results using experimental validation tools with comparison with other techniques, laying a foundation for a fully fault-tolerant infrastructure as a service cloud environment. Copyright © 2017 John Wiley a Sons, Ltd.

Journal ArticleDOI
TL;DR: Several kinds of speech features were extracted and combined in different ways to reflect the relationship between feature fusions and emotion recognition performance, and two methods were explored, namely, support vector machine (SVM) and deep belief networks (DBNs), to classify six emotion status.
Abstract: Summary Emotion recognition is challenging for understanding people and enhances human–computer interaction experiences, which contributes to the harmonious running of smart health care and other smart services. In this paper, several kinds of speech features such as Mel frequency cepstrum coefficient, pitch, and formant were extracted and combined in different ways to reflect the relationship between feature fusions and emotion recognition performance. In addition, we explored two methods, namely, support vector machine (SVM) and deep belief networks (DBNs), to classify six emotion status: anger, fear, joy, neutral status, sadness, and surprise. In the SVM-based method, we used SVM multi-classification algorithm to optimize the parameters of penalty factor and kernel function. With DBN, we adjusted different parameters to achieve the best performance when solving different emotions. Both gender-dependent and gender-independent experiments were conducted on the Chinese Academy of Sciences emotional speech database. The mean accuracy of SVM is 84.54%, and the mean accuracy of DBN is 94.6%. The experiments show that the DBN-based approach has good potential for practical usage, and suitable feature fusions will further improve the performance of speech emotion recognition. Copyright © 2017 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: An improved DCT approach is proposed that reduces the computational time and simultaneously enhanced the modified condition/decision coverage of the MC/DC and is named SMCDCT (scalableMC/DC percentage calculator using DCT).
Abstract: Summary Distributed concolic testing (DCT) for complex programs takes a remarkable computational time. Also, the achieved modified condition/decision coverage (MC/DC) for such programs is often inadequate. We propose an improved DCT approach that reduces the computational time and simultaneously enhanced the MC/DC. We have named our approach SMCDCT (scalable MC/DC percentage calculator using DCT). Our experimental study on forty-five C programs indicates 6.62% of average increase in MC/DC coverage. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: In this paper, an innovative hierarchical data-processing architecture that utilises semantics at all the levels of the IoT stack in multi-cloud environments is presented, and the authors demonstrate the feasibility of such architecture by building a system based on this architecture using OpenIoT as a middleware, and Google Cloud and Microsoft Azure as cloud environments.
Abstract: A large number of cloud middleware platforms and tools are deployed to support a variety of internet-of-things IoT data analytics tasks. It is a common practice that such cloud platforms are only used by its owners to achieve their primary and predefined objectives, where raw and processed data are only consumed by them. However, allowing third parties to access processed data to achieve their own objectives significantly increases integration and cooperation and can also lead to innovative use of the data. Multi-cloud, privacy-aware environments facilitate such data access, allowing different parties to share processed data to reduce computation resource consumption collectively. However, there are interoperability issues in such environments that involve heterogeneous data and analytics-as-a-service providers. There is a lack of both architectural blueprints that can support such diverse, multi-cloud environments and corresponding empirical studies that show feasibility of such architectures. In this paper, we have outlined an innovative hierarchical data-processing architecture that utilises semantics at all the levels of IoT stack in multi-cloud environments. We demonstrate the feasibility of such architecture by building a system based on this architecture using OpenIoT as a middleware, and Google Cloud and Microsoft Azure as cloud environments. The evaluation shows that the system is scalable and has no significant limitations or overheads. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: A series of successful approaches to processing EEG data in various dimensions and scales in a massively parallel manner are demonstrated, which manifests great potentials in addressing the grand challenges of brain big data processing.
Abstract: Summary Brain data processing has been embracing the big data era driven by the rapid advances of neuroscience as well as the experimental techniques for recording neuronal activities. Processing of massive brain data has become a constant in neuroscience research and practice, which is vital in revealing the hidden information to better understand the brain functions and malfunctions. Brain data are routinely non-linear and non-stationary in nature, and existing algorithms and approaches to neural data processing are generally complicated in order to characterize the non-linearity and non-stationarity. Brain big data processing has pressing needs for appropriate computing technologies to address three grand challenges: (1) efficiency, (2) scalability and (3) reliability. Recent advances of computing technologies are making non-linear methods viable in sophisticated applications of massive brain data processing. General-purpose Computing on the Graphics Processing Unit (GPGPU) technology fosters an ideal environment for this purpose, which benefits from the tremendous computing power of modern graphics processing units in massively parallel architecture that is frequently an order of magnitude larger than the modern multi-core CPUs. This article first recaps significant speed-ups of existing algorithms aided by GPGPU in neuroimaging and processing electroencephalogram (EEG), functional magnetic resonance imaging (fMRI), magnetoencephalography (MEG) and etc. The article then demonstrates a series of successful approaches to processing EEG data in various dimensions and scales in a massively parallel manner: (1) decomposition: a massively parallel Ensemble Local Mean Decomposition (ELMD) algorithm aided by GPGPU can decompose EEG series, which forms the basis of further time-frequency transformation, in real-time without sacrificing the precision of processing; (2) synchronization measurement: a parallelized Nonlinear Interdependence (NLI) method for global synchronization measurement of multivariate EEG with speed-up of more than 1000 times, and it was successful in localization of epileptic focus; and (3) dimensionality reduction: a large-scale Parallel Factor Analysis which excels in run-time performance and scales far better by hundreds of times than conventional approach does, and it supports fast factorization of EEG with more than 1000 channels. Through these practices, the massively parallel computing technology manifests great potentials in addressing the grand challenges of brain big data processing. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: Although XHAMI has little overhead in data storage and input/output operations, it greatly enhances the system performance and simplifies the application development process and can be utilized by many applications where there is a requirement of overlapped data.
Abstract: Summary Hadoop distributed file system (HDFS) and MapReduce model have become popular technologies for large-scale data organization and analysis. Existing model of data organization and processing in Hadoop using HDFS and MapReduce are ideally tailored for search and data parallel applications, for which there is no need of data dependency with its neighboring/adjacent data. However, many scientific applications such as image mining, data mining, knowledge data mining, and satellite image processing are dependent on adjacent data for processing and analysis. In this paper, we identify the requirements of the overlapped data organization and propose a two-phase extension to HDFS and MapReduce programming model, called XHAMI, to address them. The extended interfaces are presented as APIs and implemented in the context of image processing application domain. We demonstrated effectiveness of XHAMI through case studies of image processing functions along with the results. Although XHAMI has little overhead in data storage and input/output operations, it greatly enhances the system performance and simplifies the application development process. Our proposed system, XHAMI, works without any changes for the existing MapReduce models and can be utilized by many applications where there is a requirement of overlapped data. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: This paper presents a fast order‐preserving pattern matching algorithm, which uses specialized word‐size packed string matching instructions, grounded on the single instruction multiple data instruction set architecture.
Abstract: Summary The order-preserving pattern matching problem has gained attention in recent years. It consists in finding all substrings in the text, which have the same length and relative order as the input pattern. Typically, the text and the pattern consist of numbers. Since recent times, there has been a tendency to utilize the ability of the word RAM model to increase the efficiency of string matching algorithms. This model works on computer words, reading and processing blocks of characters at once, so that usual arithmetic and logic operations on words can be performed in one unit of time. In this paper, we present a fast order-preserving pattern matching algorithm, which uses specialized word-size packed string matching instructions, grounded on the single instruction multiple data instruction set architecture. We show with experimental results that the new proposed algorithm is more efficient than the previous solutions. ©2016 The Authors. Software: Practice and Experience Published by John Wiley & Sons Ltd.

Journal ArticleDOI
TL;DR: A simulation model is proposed to study real‐world replication workflows for cloud storage systems and presents three new methods to maximize the storage space usage during replica creation, and two novel QoS aware greedy algorithms for replica placement optimization.
Abstract: In this paper, we propose a simulation model to study real-world replication workflows for cloud storage systems. With this model, we present three new methods to maximize the storage space usage during replica creation, and two novel QoS aware greedy algorithms for replica placement optimization. By using a simulation method, our algorithms are evaluated, through a comparison with the existing placement algorithms, to show that i a more evenly distributed replicas for a data set can be achieved by using round-robin methods in replica creation phase and ii the two proposed greedy algorithms, named GS_QoS and GS_QoS_C1, not only have more economical results than those from Chen et al., but also guarantee the QoS for clients. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: A study on the accuracy of ACC tools regarding dependency analysis and violation reporting, substantiated by means of a frequency analysis of the hard‐to‐detect types of dependencies in five open source systems.
Abstract: SUMMARY Architecture compliance checking (ACC) is an approach to verify conformance of implemented program code to high-level models of architec tural design. Static ACC focuses on the modular software architecture and on the existence of rule violating dependencies between modules. Accurate tool support is essential for effective and efficient ACC. This paper presents a study on the accuracy of ACC tools regarding dependency analysis and violation reporting. Ten tools were tested and compare d by means of a custom-made benchmark. The Java code of the benchmark testware contains 34 different types of dependencies, which are based on an inventory of dependency types in object oriented program code. In a second test, the code of open source system FreeMind was used to compare the 10 tools on the number of reported rule violating dependencies and the exactness of the dependency and violation messages. On the average, 77% of the dependencies in our custom-made test software were reported, while 72% of the dependencies within a module of FreeMind were reported. The results show that all tools in the test could improve the accuracy of the reported dependencies and violations, though large differences between the 10 tools were observed. We have identified10 hard-to-detect types of dependencies and four challenges in dependency detection. The relevance of our findings is substantiated by means of a frequency analysis of the hard-to-detect types of dependencies in five open source systems. DOI: 10.1002/spe.2421

Journal ArticleDOI
TL;DR: This work presents the JavaBIP framework, a component framework rooted in rigorous operational semantics that allows developers to think on a higher level of abstraction and clearly separate the functional and coordination aspects of the system behavior.
Abstract: Summary A strong separation of concerns is necessary in order to make the design of domain-specific functional components independent from cross-cutting concerns, such as concurrent access to the shared resources of the execution platform. Native coordination mechanisms, such as locks and monitors, allow developers to address these issues. However, such solutions are not modular; they are complex to design, debug, and maintain. We present the JavaBIP framework that allows developers to think on a higher level of abstraction and clearly separate the functional and coordination aspects of the system behavior. It implements the principles of the Behavior, Interaction, and Priority (BIP) component framework rooted in rigorous operational semantics. It allows the coordination of existing concurrent software components in an exogenous manner, relying exclusively on annotations, component APIs, and external specification files. We introduce the annotation and specification syntax of JavaBIP and illustrate its use on realistic examples, present the architecture of our implementation, which is modular and easily extensible, and provide and discuss performance evaluation results. Copyright © 2017 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: This paper presents a self‐deployment protocol that was designed to automatically configure a set of software elements to be deployed on different virtual machines and works in a decentralized way, that is, there is no need for a centralized server.
Abstract: Cloud applications consist of a set of interconnected software elements distributed over several virtual machines, themselves hosted on remote physical servers. Most existing solutions for deploying such applications require human intervention to configure parts of the system, do not conform to functional dependencies among elements that must be respected when starting them, and do not handle virtual machine failures that can occur when deploying an application. This paper presents a self-deployment protocol that was designed to automatically configure a set of software elements to be deployed on different virtual machines. This protocol works in a decentralized way, that is, there is no need for a centralized server. It also starts the software elements in a certain order, respecting important architectural invariants. This protocol supports virtual machine and network failures and always succeeds in deploying an application when faced with a finite number of failures. Designing such highly parallel management protocols is difficult; therefore, formal modeling techniques and verification tools were used for validation purposes. The protocol was implemented in Java and was used to deploy industrial applications. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: This work applies good programming practices and code refactorings to reduce battery consumption of scientific mobile applications and proposes guidelines for high‐performance computing applications based on Android, the dominant mobile operating system.
Abstract: Summary The increasing number of mobile devices with ever-growing capabilities makes them useful for running scientific applications. However, these applications have high computational demands, whereas mobile devices have limited capabilities when compared with non-mobile devices. More importantly, mobile devices rely on batteries for their power supply. We initially measure the battery consumption of different versions of known micro-benchmarks representing common programming primitives found in scientific applications. Then, we analyze the performance of such micro-benchmarks in CPU-intensive mobile applications. We apply good programming practices and code refactorings to reduce battery consumption of scientific mobile applications. Our results show the reduction in energy usage from applying these refactorings to three scientific applications, and we consequently propose guidelines for high-performance computing applications. Our focus is on Android, the dominant mobile operating system. As a long-term contribution, our results represent one more step in the progress towards hybrid distributed infrastructures comprising fixed and mobile nodes, that is, the so-called mobile grids. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: JAMES is an object‐oriented Java framework for discrete optimization using local search algorithms that exploits the generality of such metaheuristics by clearly separating search implementation and application from problem specification.
Abstract: This paper describes JAMES, a modern object-oriented Java framework for discrete optimization using local search algorithms that exploits the generality of such metaheuristics by clearly separating search implementation and application from problem specification. A wide range of generic local searches are provided, including (stochastic) hill climbing, tabu search, variable neighbourhood search and parallel tempering. These can be applied easily to any user-defined problem by plugging in a custom neighbourhood for the corresponding solution type. The performance of several different search algorithms can be assessed and compared in order to select an appropriate optimization strategy. Also, the influence of parameter values can be studied. Implementations of specific components are included for subset selection, such as a predefined solution type, a generic problem definition and several subset neighbourhoods used to modify the set of selected items. Additional components for other types of problems (e.g. permutation problems) are provided through an extensions module. Releases of JAMES are deployed to the Maven Central Repository so that the framework can easily be included as a dependency in other Java applications. The project is fully open source and hosted on GitHub. More information can be found at http://www.jamesframework.org.

Journal ArticleDOI
TL;DR: The results of the experiments show that this method can greatly increase the reliability of Web services composition.
Abstract: With the rapid development of Cloud computing, social computing, and Web of Things, an increasing number of requirements of complexity and reliability for modeling Web services composition have emerged too. As more reliable methods are needed to model and verify current complex Web services composition, this paper proposes a method to model and verify Web services composition based on model transformation. First, a modeling and verifying framework based on model transformation is established. Then, Communicating Sequential Process CSP is defined according to the features of Web services composition and the corresponding model checking tool Failure Divergence Refinement FDR is introduced. The transformation approaches between Business Process Execution Language BPEL and CSP are later defined in detail. Lastly, the effect of this method is evaluated by modeling and verifying the Web services composition of a Online Shopping System. The results of the experiments show that this method can greatly increase the reliability of Web services composition. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: A systematic mapping study on how reusability relates to other non‐functional requirements and how different contextual factors influence the success of a reuse initiative suggests human, organizational, and technological domain factors are extremely relevant to a particular reuse context.
Abstract: Software reuse is a broadly accepted practice to improve software development quality and productivity. Although an object of study in software engineering since the late sixties, achieving effective reuse remains challenging for many software development organizations. This paper reports a systematic mapping study on how reusability relates to other non-functional requirements and how different contextual factors influence the success of a reuse initiative. The conclusion is that the relationships are discussed rather informally, and that human, organizational, and technological domain factors are extremely relevant to a particular reuse context. This mapping study highlights the need for further research to better understand how exactly the different non-functional requirements and context factors affect reusability. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: The web application Tableau Reasoner for descrIption Logics in proLog on SWI‐Prolog for SHaring (TRILL on SWISH) is presented which allows the user to write probabilistic description logic (DL) theories and compute the probability of queries with just a web browser.
Abstract: We present the web application Tableau Reasoner for descrIption Logics in proLog on SWI-Prolog for SHaring TRILL on SWISH which allows the user to write probabilistic description logic DL theories and compute the probability of queries with just a web browser. Various probabilistic extensions of DLs have been proposed in the recent past, because uncertainty is a fundamental component of the Semantic Web. We consider probabilistic DL theories following our distribution semantics for probabilistic ontologies DISPONTE semantics. Axioms of a DISPONTE knowledge base can be annotated with a probability, and the probability of queries can be computed with inference algorithms. TRILL is a probabilistic reasoner for DISPONTE knowledge base that is implemented in Prolog and exploits its backtracking facilities for handling the non-determinism of the tableau algorithm. TRILL on SWISH is based on SWISH, a recently proposed web framework for logic programming, based on various features and packages of SWI-Prolog e.g., a web server and a library for creating remote Prolog engines and posing queries to them. TRILL on SWISH also allows users to cooperate in writing a probabilistic DL theory. It is free, open, and accessible on the Web at the url: http://trill.lamping.unife.it; it includes a number of examples that cover a wide range of domains and provide interesting Probabilistic Semantic Web applications. By building a web-based system, we allow users to experiment with probabilistic DLs without the need to install a complex software stack. In this way, we aim to reach out to a wider audience and popularize the Probabilistic Semantic Web. Copyright © 2016 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: A traffic hotline discovery principle is presented to provide a reference standard for the generalized traffic spots that need planning, and a corresponding hotline discovery method is proposed for traffic hotspot identification and hotline selection.
Abstract: Summary Traffic hotline discovery is necessary for rational and scientific urban transportation planning in the new living quarters and economic zones. Cloud of Things (CoT) is a newly emerging concept, involving with two advanced technologies, that is, Cloud Computing and Internet of Things (IoT). CoT provides promising opportunities for traffic hotline discovery. However, it is still a challenge to discover the traffic hotlines over CoT. In view of this challenge, a hotline discovery method over CoT by using big taxi GPS data is proposed in this paper. Specifically, a traffic hotline discovery principle is presented to provide a reference standard for the generalized traffic spots that need planning, and a corresponding hotline discovery method is proposed for traffic hotspot identification and hotline selection. To improve the scalability and efficiency of the proposed method in “Big Data” environment, the SAP HANA cloud is applied to implement the proposed method under two application scenarios. Finally, the experimental results demonstrate that the proposed method is both effective and efficient. Software—Practice and Experience. Copyright © 2016 John Wiley & Sons, Ltd.