The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Enabling interfaces to declare (instance) method implementations, Java 8 default methods can be used as a substitute for the ubiquitous skeletal implementation software design pattern. Performing this transformation on legacy software manually, though, may be non-trivial. The refactoring requires analyzing complex type hierarchies, resolving multiple implementation inheritance issues, reconciling...
Stream processing applications have high-demanding performance requirements that are hard to tackle using traditional parallel models on modern many-core architectures, such as GPUs. On the other hand, recent dataflow computing models can naturally exploit parallelism for a wide class of applications. This work presents an extension to an existing dataflow library for Java. The library extension implements...
Although considered one of the most important decisions in a software development lifecycle, empirical evidence on how developers perform and perceive architectural changes is still scarce. Given the large implications of architectural decisions, we do not know whether developers are aware of their changes' impact on the software's architecture, whether awareness leads to better changes, and whether...
Industrial solutions design is a highly complex topic due to the challenge of integrating multiple technologies into a single solution, the inherent complexity of the problems to be solved and also because the proposed solutions often require a great level of interoperability among their components and also the outside world. Dynamic Binary Translation has been used as a tool to deal with such interoperability...
While Java Virtual Machine can provide applications with safety property to avoid memory corruption bugs, it continues to encounter some security flaws. Real world exploits show that the current sandbox model can be bypassed. In this paper, we focus our work on bytecode integrity measurement in clouds to identify malicious execution and propose J-IMA architecture to provide runtime measurement and...
This paper addresses the semantic gap between the domain knowledge and software application engineering by proposing a framework for mapping and integrating multiple heterogeneous data sources with application business logic by means of data semantic enrichment, aggregation, filtering and processing. Based on the main drawbacks identified in the current knowledge enhanced software application architectures,...
Routing in Delay-/Disruption-Tolerant Networking (DTN) requires specific solutions as link impairments prevent the use of ordinary Internet algorithms, based on a timely dissemination of network topology information. Among DTN routing algorithms there is a dichotomy between opportunistic and deterministic (scheduled) solutions. The former are numerous and apply to terrestrial environments; CGR is...
In this research, I want to investigate programming language and middleware abstractions which offer an alternative approach in client/server Web application development, for dealing specifically with coordination between client and server components that has flexibility in mapping components to physical locations. I work on a middleware and JavaScript interpreter that provides support for modular...
Mathematical word problems can be broadly divided into two categories as numerical word problems and algebraic word problems. These can be further categorised according to the domain, such as interest calculation and mensuration. Although most of the popular Mathematics examinations contain word problems, there are slight differences in the syllabi. The existing research has produced solutions for...
Network operators must deal with multi-layer architectures in their production networks. Not so much time ago, network operators were delivering the IP traffic using ATM. ATM protocol was used to aggregate end-user traffic coming from DSL connections. This traffic was transported Synchronous Digital Hierarchy (SDH) as the standard transport technology for fiber-optic transmission systems in backbone...
As software engineering researchers, we are also zealous tool smiths. Building a research prototype is often a daunting task, let alone building an industry-grade family of tools supporting multiple platforms to ensure the generalizability of results. In this paper, we give advice to academic and industrial tool smiths on how to design and build an easy-to-maintain architecture capable of supporting...
Motivated by the increasing importance of edge computing and improvements in heterogeneous low-power, wimpy systems, we present a novel time-energy-cost analysis of wimpy edge computing in comparison with traditional brawny cloud computing. For this analysis, we use a brawny heterogeneous Amazon EC2 cloud instance with GPU and two wimpy heterogeneous systems represented by Jetson TK1 and Jetson TX1...
The number of software-defined controllers available in the market has increased greatly in the last few years. Nowadays, it is possible to find proprietary controllers as well as open source controllers. Examples are companies as HPE and Cisco that offer those two types of controllers to their clients simultaneously. It is also important to note that in both, the open source version is a commercial...
AWS Lambda (Amazon Web Services) is the most popular serverless architecture provided by Amazon. It currently supports three platforms: JavaScript, Python, and Java Virtual Machine (JVM). The JVM could be the most complicate platform among the three as there are many languages that target the JVM platform besides Java. In addition, the complex hierarchy of dependencies, versioning, and the class loader...
This research paper is a study on trade-off of using Java to create cluster capable of achieving high-performance computing. Here we have made a distributed computing architecture in Java using Low-level API implementations. Time is crucial in any field of work. We value fast and optic results. Creating cluster base through traditional method using C, C++ or FORTAN programming language can be tedious,...
Code smells are sub-optimal coding circumstances such as blob classes or spaghetti code - they have received much attention and tooling in recent software engineering research. Higher-up in the abstraction level, architectural smells are problems or sub-optimal architectural patterns or other design-level characteristics. These have received significantly less attention even though they are usually...
Pipe-and-Filter (P&F) is a well-known and often used architectural style. However, to the best of our knowledge, there is no P&F framework which can model and execute generic P&F architectures. For example, the frameworks Fastflow, StreamIt, and Spark do not support multiple input and output streams per filter and thus cannot model branches. Other frameworks focus on very specific use...
Component-based software platforms likeOSGi facilitate the development of complex software. As software systems become more complicated, tool supportis often a necessity for assuring the conformance betweendesigned and implemented architectures. We present ARTOS, an architecture toolkit to facilitate the design and conformanceanalysis of the software running on the OSGi platform. Thetoolkit consists...
This paper introduces an abstract specification of mutation operators that (1) we have used to create traditional operators and, (2) we are currently using to define and implement mutation operators for context-aware, mobile applications that comeproceed from a list of common errors reported by three companies. This specification describes the structure and behavior of mutation operators at a high...
Component identification is relevant in maintenance activities but can be hard in scenarios where the volume of source code is high and there is no architecture documentation. This work presents a technique for finding concepts as candidates of architectural components. The technique is based in the frequency of terms that follows naming patterns that are proposed in this work. Projects from Eclipse...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.