6,802 research outputs found
Middleware Technologies for Cloud of Things - a survey
The next wave of communication and applications rely on the new services
provided by Internet of Things which is becoming an important aspect in human
and machines future. The IoT services are a key solution for providing smart
environments in homes, buildings and cities. In the era of a massive number of
connected things and objects with a high grow rate, several challenges have
been raised such as management, aggregation and storage for big produced data.
In order to tackle some of these issues, cloud computing emerged to IoT as
Cloud of Things (CoT) which provides virtually unlimited cloud services to
enhance the large scale IoT platforms. There are several factors to be
considered in design and implementation of a CoT platform. One of the most
important and challenging problems is the heterogeneity of different objects.
This problem can be addressed by deploying suitable "Middleware". Middleware
sits between things and applications that make a reliable platform for
communication among things with different interfaces, operating systems, and
architectures. The main aim of this paper is to study the middleware
technologies for CoT. Toward this end, we first present the main features and
characteristics of middlewares. Next we study different architecture styles and
service domains. Then we presents several middlewares that are suitable for CoT
based platforms and lastly a list of current challenges and issues in design of
CoT based middlewares is discussed.Comment: http://www.sciencedirect.com/science/article/pii/S2352864817301268,
Digital Communications and Networks, Elsevier (2017
Middleware Technologies for Cloud of Things - a survey
The next wave of communication and applications rely on the new services
provided by Internet of Things which is becoming an important aspect in human
and machines future. The IoT services are a key solution for providing smart
environments in homes, buildings and cities. In the era of a massive number of
connected things and objects with a high grow rate, several challenges have
been raised such as management, aggregation and storage for big produced data.
In order to tackle some of these issues, cloud computing emerged to IoT as
Cloud of Things (CoT) which provides virtually unlimited cloud services to
enhance the large scale IoT platforms. There are several factors to be
considered in design and implementation of a CoT platform. One of the most
important and challenging problems is the heterogeneity of different objects.
This problem can be addressed by deploying suitable "Middleware". Middleware
sits between things and applications that make a reliable platform for
communication among things with different interfaces, operating systems, and
architectures. The main aim of this paper is to study the middleware
technologies for CoT. Toward this end, we first present the main features and
characteristics of middlewares. Next we study different architecture styles and
service domains. Then we presents several middlewares that are suitable for CoT
based platforms and lastly a list of current challenges and issues in design of
CoT based middlewares is discussed.Comment: http://www.sciencedirect.com/science/article/pii/S2352864817301268,
Digital Communications and Networks, Elsevier (2017
Overcoming Language Dichotomies: Toward Effective Program Comprehension for Mobile App Development
Mobile devices and platforms have become an established target for modern
software developers due to performant hardware and a large and growing user
base numbering in the billions. Despite their popularity, the software
development process for mobile apps comes with a set of unique, domain-specific
challenges rooted in program comprehension. Many of these challenges stem from
developer difficulties in reasoning about different representations of a
program, a phenomenon we define as a "language dichotomy". In this paper, we
reflect upon the various language dichotomies that contribute to open problems
in program comprehension and development for mobile apps. Furthermore, to help
guide the research community towards effective solutions for these problems, we
provide a roadmap of directions for future work.Comment: Invited Keynote Paper for the 26th IEEE/ACM International Conference
on Program Comprehension (ICPC'18
Efficient And Flexible Continuous Integration Infrastructure to Improve Software Development Process
Continuous Integration (CI) is a popular software-engineering methodology for co-working between programmers. The key function of CI is to run, build and test tasks automatically when a programmer wants to share his or her code or implement a feature. The primary objectives of CI are to prevent growing integration problems, and to provide feedback with useful information for resolving these issues easily and quickly. Despite extensive academic research and popular services in the industry, such as TravisCI, CircleCI or Jenkins, there is practically have limitations, which result from limited available resources, including budget and low computing power. Moreover, the diversity of modern computer environments, such as different operating systems, libraries or disk sizes, memory, and network speeds, increase both the costs for CI and difficulties in finding bugs automatically in every cases. This study aims to propose supplemental external and internal methods to solve the above obstacles. First, our approach enables programmers to configure different execution environments such as memory and network bandwidth during CI services. Then, we introduce an enhanced CI infrastructure that can efficiently schedule CI services based on resource-profiling techniques and our time-based scheduling algorithm, thereby reducing the overall CI time. Our case studies show that the proposed approaches can report the resource usage information after completing a CI service as well as improve the performance of an existing CI infrastructure
Action-based recommendation in pull-request development
Pull requests (PRs) selection is a challenging task faced by integrators in pull-based development (PbD), with hundreds of PRs submitted on a daily basis to large open-source projects. Managing these PRs manually consumes integrators' time and resources and may lead to delays in the acceptance, response, or rejection of PRs that can propose bug fixes or feature enhancements. On the one hand, well-known platforms for performing PbD, like GitHub, do not provide built-in recommendation mechanisms for facilitating the management of PRs. On the other hand, prior research on PRs recommendation has focused on the likelihood of either a PR being accepted or receive a response by the integrator. In this paper, we consider both those likelihoods, this to help integrators in the PRs selection process by suggesting to them the appropriate actions to undertake on each specific PR. To this aim, we propose an approach, called CARTESIAN (aCceptance And Response classificaTion-based requESt IdentificAtioN) modeling the PRs recommendation according to PR actions. In particular, CARTESIAN is able to recommend three types of PR actions: accept, respond, and reject. We evaluated CARTESIAN on the PRs of 19 popular GitHub projects. The results of our study demonstrate that our approach can identify PR actions with an average precision and recall of about 86%. Moreover, our findings also highlight that CARTESIAN outperforms the results of two baseline approaches in the task of PRs selection
Collecting Unsolicited User-Generated Change Requests
Unlike aircrew directly associated with acquisitions, line operators are not fully engaged in the methods to push materiel hardware or software change requests up the chain, to a decision maker, and then to the engineers. The Air Force trains these end users to logically apply expert systems knowledge to execute the mission but has not fully leveraged this resource for properly identifying and correcting operational shortfalls in an aircraft\u27s design. Focusing on the Remotely Piloted Aircraft (RPA) community, the research goal is to determine if the Air Force should establish a formal program for collecting and prioritizing unsolicited user change requests from operators, and if so, how should the process be implemented and what characteristics should the system possess. This Delphi study sought consensus from a panel of MQ-1 and MQ-9 expert operators on desired characteristics and basic architecture. The analysis revealed that the deficiency reporting program, traditionally focused on Test and Evaluation squadrons, meets many of the desired characteristics but could be improved to meet all of them. Additionally, cockpit development could improve through supplementing the already established Cockpit Working Groups with a commercially developed tool with many of the desired characteristics
- …