1,506 research outputs found
Teaching Concurrent Software Design: A Case Study Using Android
In this article, we explore various parallel and distributed computing topics
from a user-centric software engineering perspective. Specifically, in the
context of mobile application development, we study the basic building blocks
of interactive applications in the form of events, timers, and asynchronous
activities, along with related software modeling, architecture, and design
topics.Comment: Submitted to CDER NSF/IEEE-TCPP Curriculum Initiative on Parallel and
Distributed Computing - Core Topics for Undergraduate
Accessible user interface support for multi-device ubiquitous applications: architectural modifiability considerations
The market for personal computing devices is rapidly expanding from PC, to mobile, home entertainment systems, and even the automotive industry. When developing software targeting such ubiquitous devices, the balance between development costs and market coverage has turned out to be a challenging issue. With the rise of Web technology and the Internet of things, ubiquitous applications have become a reality. Nonetheless, the diversity of presentation and interaction modalities still drastically limit the number of targetable devices and the accessibility toward end users. This paper presents webinos, a multi-device application middleware platform founded on the Future Internet infrastructure. Hereto, the platform's architectural modifiability considerations are described and evaluated as a generic enabler for supporting applications, which are executed in ubiquitous computing environments
h-ubu: An Industrial-Strength Service-Oriented Component Framework for JavaScript Applications
Industrial track: Effective Industry Use of Software-Engineering ToolsInternational audienceIn the last years, we developed web applications requiring a large amount of JavaScript code. These web applications present adaptation requirements. In addition to platform-centric adaptation, applications have to dynamically react to external events like connectivity disruptions. Building such applications is complex and we faced sharp maintainability challenges. This paper presents h-ubu, a service-oriented component framework for JavaScript allowing building adaptive applications. h-ubu is used in industrial web applications and mobile applications. h-ubu is available in open source, as part of the OW2 Nanoko project
Integrate Enterprise Systems to our Hyperconnected World: Anything, Anywhere, Anytime through architectural design
The architectures of currently sold Enterprise Systems were developed in a time when the amount of data to be processed was limited. Since then the necessity to capture and process real-time data from multiple sources has surged and needs to be considered in a world where everything must be exchanged and available anywhere, anytime and in any format. Yet the abstinence of novel approaches on the architectures of Enterprise Systems creates a gap between the increasing requirements and existing information systems. In this paper, we suggest a new architectural design approach, which will close the gap between increasing requirements and existing information systems. In order to determine a future-proof architecture, the authors conducted a Delphi survey where technology providers and users were inquired on the business needs and technical requirements. The result of the Delphi survey has been used to create a proposal for a different approach towards ES architectures
The design and implementation of a smart-parking system for Helsinki Area
The strain on the parking infrastructure for the general public has significantly grown as a result of the ever rising number of vehicles geared by the rapid population growth in urban areas. Consequently, finding a vacant parking space has become quite a challenging task, especially at peak hours. Drivers have to cycle back and forth a number of times before they finally find where to park. This leads to increased fuel consumption, air pollution, and increased likelihood of causing accidents, to mention but a few. Paying for the parking is not straight forward either, as the ticket machines, on top of being located at a distance, in many times, they have several payment methods drivers must prepare for. A system therefore, that would allow drivers to check for the vacant parking places before driving to a busy city, takes care of the parking fee for exact time they have used, manages electronic parking permit, is the right direction towards toppling these difficulties.
The main objective of this project was to design and implement a system that would provide parking occupancy estimation, parking fee payment method, parking permit management and parking analytics for the city authorities. The project had three phases. The first and the second phases used qualitative approaches to validate our hypotheses about parking shortcoming in Helsinki area and the recruitment of participants to the pilot of the project, respectively. The third phase involved the design, implementation and installation of the system. The other objective was to study the challenges a smart parking system would face at different stages of its life cycle.
The objectives of the project were achieved and the considered assumption about the challenges associated with parking in a busy city were validated. A smart parking system will allow drivers to check for available parking spaces beforehand, they are able to pay for the parking fee, they can get electronic parking permits, and the city authority can get parking analytics for the city plannin
Open Personalization: Involving Third Parties in Improving the User Experience of Websites
Traditional software development captures the user needs during the
requirement analysis. The Web makes this endeavour even harder due to
the difficulty to determine who these users are. In an attempt to tackle
the heterogeneity of the user base, Web Personalization techniques are
proposed to guide the users’ experience. In addition, Open Innovation
allows organisations to look beyond their internal resources to develop new
products or improve existing processes.
This thesis sits in between by introducing Open Personalization as a
means to incorporate actors other than webmasters in the personalization
of web applications. The aim is to provide the technological basis that
builds up a trusty environment for webmasters and companion actors to
collaborate, i.e. "an architecture of participation". Such architecture
very much depends on these actors’ profile. This work tackles three
profiles (i.e. software partners, hobby programmers and end users), and
proposes three "architectures of participation" tuned for each profile. Each
architecture rests on different technologies: a .NET annotation library
based on Inversion of Control for software partners, a Modding Interface in
JavaScript for hobby programmers, and finally, a domain specific language
for end-users. Proof-of-concept implementations are available for the three
cases while a quantitative evaluation is conducted for the domain specific
language
A Domain Specific Graphical User Interface Framework
Since the early days of software development, there has been an ongoing trend towards higher-order or higher level abstractions in programming languages, software libraries and application frameworks. Some of the arguments for software development tools with higher levels of abstraction include simpler software development, improved portability and better maintainability. Higher level abstractions can however lead to reduced performance. This thesis presents an innovative graphical user interface software solution that mixes high-level and low-level approaches to achieve acceptable performance while retaining good maintainability. The solution is an extension to a graphical application framework called JavaFX.
The scope of this thesis is defined by a software development project which goal is to create a graphical user interface framework. The framework is used in the creation of customer specific user interfaces for an accompanying intralogistics system. The resulting user interfaces must be able to visualize possibly thousands of objects moving on a factory floor. The views must simultaneously support user-initiated zooming, panning, and tilting of the two-dimensional view. Meeting these requirements while maintaining acceptable performance, requires an unconventional solution and a deviation from idiomatic JavaFX.
The user interface framework in question is developed using a high-level graphical user interface application framework called JavaFX. JavaFX is the most recent graphical user interface toolkit included in the official Java Development Kit. It has many reactive traits and other modern high-level properties. Overcoming performance challenges with JavaFX when producing views with thousands of animated items was the key research challenge in this research. Some attention is also given to replacing JavaFX built-in dependency injection system with Spring framework to improve JavaFX suitability to the task at hand.
This thesis presents a hybrid solution that overcomes JavaFX’s performance challenges in the problem domain, while retaining as much as possible of the usefulness of the high-level features present in the JavaFX framework. The key innovation is a mechanism that enables automated rendering of sprite-bitmaps from JavaFX scene-graph nodes. The solution includes a system that draws the automatically generated bitmaps to a lower-level JavaFX component called Canvas. The solution enables layered mixing of regular JavaFX views with the custom high-performance views, including seamless resizing and event handling between the two types of views. The solution enables the developers of customer specific user interfaces to choose an appropriate graphics rendering type, such that only objects that cause performance issues, typically items which number exceeds dozens, need to use the more complex high-performance system
UNCOVERING AND MITIGATING UNSAFE PROGRAM INTEGRATIONS IN ANDROID
Android’s design philosophy encourages the integration of resources and functionalities from multiple parties, even with different levels of trust. Such program integrations, on one hand, connect every party in the Android ecosystem tightly on one single device. On the other hand, they can also pose severe security problems, if the security design of the underlying integration schemes is not well thought-out. This dissertation systematically evaluates the security design of three integration schemes on Android, including framework module, framework proxy and 3rd-party code embedding. With the security risks identified in each scheme, it concludes that program integrations on Android are unsafe. Furthermore, new frameworks have been designed and implemented to detect and mitigate the threats. The evaluation results on the prototypes have demonstrated their effectiveness
- …