Data lakes are typically large data repositories where enterprises store data in a variety of data formats. From the perspective of data storage, data can be categorized into structured, semi-structured, and unstructu...
详细信息
Data lakes are typically large data repositories where enterprises store data in a variety of data formats. From the perspective of data storage, data can be categorized into structured, semi-structured, and unstructured data. On the one hand, due to the complexity of data forms and transformation procedures, many enterprises simply pour valuable data into data lakes without organizing and managing them effectively. This can create data silos (or data islands) or even data swamps, with the result that some data will be permanently invisible. Although data are integrated into a data lake, they are simply physically stored in the same environment and cannot be correlated with other data to leverage their precious value. On the other hand, processing data from a data lake into a desired format is always a difficult and tedious task that requires experienced programming skills, such as conversion from structured to semi-structured. In this article, a novel software framework called java Annotation for Manipulating Data Lakes (JAMDL) that can manage heterogeneous data is proposed. This approach uses java annotations to express the properties of data in metadata (data about data) so that the data can be converted into different formats and managed efficiently in a data lake. Furthermore, this article suggests using artificial intelligence (AI) translation models to generate Data Manipulation Language (DML) operations for data manipulation and uses AI recommendation models to improve the visibility of data when data precipitation occurs.
The common practice of representing quantities (values with units, such as 10 kg) in program variables that store only the values, with units implicit or separate, is a significant contributor to serious errors. This ...
详细信息
ISBN:
(纸本)9781538646496
The common practice of representing quantities (values with units, such as 10 kg) in program variables that store only the values, with units implicit or separate, is a significant contributor to serious errors. This practice is often forced upon a programmer by the lack of convenient methods for managing units. To address this problem, this paper presents a java library that allows programmers to store unit information alongside the values for quantities used in variables, literals, parameters, methods, and other programming constructs. The design is based on annotations that specify unit-based constraints on the constructs they adorn. The implementation is based on detecting these annotations in a custom java class loader, performing static (compile-time) checks for consistency, and injecting bytecode for dynamic (run-time) checks and unit conversions.
This paper describes a new modelling language for the effective design and validation of java annotations. Since their inclusion in the 5th edition of java, annotations have grown from a useful tool for the addition o...
详细信息
This paper describes a new modelling language for the effective design and validation of java annotations. Since their inclusion in the 5th edition of java, annotations have grown from a useful tool for the addition of meta-data to play a central role in many popular software projects. Usually they are not conceived in isolation, but in groups, with dependency and integrity constraints between them. However, the native support provided by java for expressing this design is very limited. To overcome its deficiencies and make explicit the rich conceptual model which lies behind a set of annotations, we propose a domain-specific modelling language. The proposal has been implemented as an Eclipse plug-in, including an editor and an integrated code generator that synthesises annotation processors. The environment also integrates a model finder, able to detect unsatisfiable constraints between different annotations, and to provide examples of correct annotation usages for validation. The language has been tested using a real set of annotations from the java Persistence API (JPA). Within this subset we have found enough rich semantics expressible with Ann and omitted nowadays by the java language, which shows the benefits of Ann in a relevant field of application. (C) 2016 Elsevier Ltd. All rights reserved.
The growth in the data and computation need of today's operations has led to technical solutions that distribute workload over several entities for better performance. To facilitate such a paradigm, research studi...
详细信息
The growth in the data and computation need of today's operations has led to technical solutions that distribute workload over several entities for better performance. To facilitate such a paradigm, research studies have been investigating efficient approaches for combining high performance computing in shared-memory with distributed-memory environments. Meanwhile, the benefits of cloud computing and its modern enhancements have created potentials for applications to leverage the powerful, ubiquitous and cheap resources of cloud infrastructures. Yet, a small portion of the work in this area addresses the programming aspects of cloud-related technologies. Despite the extensive improvements in the fundamental mechanisms of this realm, programming environments offer little support for incorporating the high performance mechanisms of shared-memory computing with cloud computing. This study proposes a solution for an unobtrusive definition and integration of cloud-based and shared memory parallel computing, in order to further simplify the application of cloud capabilities in local systems. It does so by implementing the proposed concepts in @PT (Annotation Parallel Task), a parallel-programming environment that utilizes native java annotations as its language constructs. The experimental evaluations discussed here demonstrate that the proposed approach facilitates achieving the potential benefits of cloud computing for performance and energy consumption in local devices. (C) 2020 Elsevier B.V. All rights reserved.
Understanding the adoption and usage of any programming language feature is crucial for improving it. Existing studies indicate that java annotations are widely used by developers. However, there is currently no empir...
详细信息
ISBN:
(纸本)9781728192482
Understanding the adoption and usage of any programming language feature is crucial for improving it. Existing studies indicate that java annotations are widely used by developers. However, there is currently no empirical data on annotation usage in Android apps. Android apps are often smaller than general java applications and typically use Android APIs or specific libraries catered to the mobile environment. Therefore, it is not clear if the results of existing java studies hold for Android apps. In this paper, we investigate annotation practices in Android apps through an empirical study of 1,141 open-source apps. Using previously studied metrics, we first compare annotation usage in Android apps to existing results from general java applications. Then, for the first time, we study why developers declare custom annotations. Our results show that the density of annotations and the values of various other annotation metrics are notably less in Android apps than in java projects. Additionally, the types of annotations used in Android apps are different than those in java, with many Android-specific annotations. These results imply that researchers may need to distinguish mobile apps while performing studies on programming language features. However, we also found examples of extreme usage of annotations with, for example, a large number of attributes, as well as a low adoption rate for most annotations. By looking at such results, annotation designers can assess adoption patterns and take various improvement measures, such as modularizing their offered annotations or cleaning up unused ones. Finally, we find that developers declare custom annotations in different apps but with the same purpose, which presents an opportunity for annotation designers to create new annotations.
The capability of UML profiles to serve as annotation mechanism has been recognized in both research and industry. Today's modeling tools offer profiles specific to platforms, such as java, as they facilitate mode...
详细信息
The capability of UML profiles to serve as annotation mechanism has been recognized in both research and industry. Today's modeling tools offer profiles specific to platforms, such as java, as they facilitate model-based engineering approaches. However, considering the large number of possible annotations in java, manually developing the corresponding profiles would only be achievable by huge development and maintenance efforts. Thus, leveraging annotation-based modeling requires an automated approach capable of generating platform-specific profiles from java libraries. To address this challenge, we present the fully automated transformation chain realized by Jump, thereby continuing existing mapping efforts between java and UML by emphasizing on annotations and profiles. The evaluation of Jump shows that it scales for large java libraries and generates profiles of equal or even improved quality compared to profiles currently used in practice. Furthermore, we demonstrate the practical value of Jump by contributing profiles that facilitate reverse engineering and forward engineering processes for the java platform by applying it to a modernization scenario.
We present a small library for maintaining the provenance of objects in a software model called The Tiny java Library for Maintaining Model Provenance (TJLP). A unique characteristic of the library is that it may be a...
详细信息
ISBN:
(纸本)9781538676936
We present a small library for maintaining the provenance of objects in a software model called The Tiny java Library for Maintaining Model Provenance (TJLP). A unique characteristic of the library is that it may be applied to existing software models with minimal modification. The library allows the software developer to introduce the ability to move back (undo) and forward (redo) through an object's instance history with minor alteration of existing code. The requirement is that the model implements the Model interface. Finally, methods that are considered critical in the object's provenance are adorned with an Undoable annotation. The code necessary to maintain the object's history is automatically inserted into the critical, undoable-method bytecode when the class definition is loaded by an extended class loader. The states of the model objects are preserved both in memory and on disk to accommodate various computer system configurations. The library performs well for small to medium size models using the default settings, but it may be customized in order to perform better with larger models especially if the model size approaches the RAM of the underlying computer system.
This paper deals with difficulties occurring during transformation of schema and data from an object oriented code to a semantic web representation (RDF, OWL). The authors describe differences in semantic expressivity...
详细信息
ISBN:
(纸本)9789898425560
This paper deals with difficulties occurring during transformation of schema and data from an object oriented code to a semantic web representation (RDF, OWL). The authors describe differences in semantic expressivity between the object-oriented approach and the semantic web approach and look for the ways to fill this semantic gap. Then some existing approaches with their difficulties are introduced and a preliminary idea using java annotations is proposed. java annotations add missing semantic information into java code, which is consequently processed by the proposed framework and serialized into output semantic web structure (OWL).
Dependency injection is a recent programming mechanism reducing dependencies among components by delegating them to an external entity, called a dependency injection framework. An increasingly popular approach to depe...
详细信息
ISBN:
(纸本)9780769543215
Dependency injection is a recent programming mechanism reducing dependencies among components by delegating them to an external entity, called a dependency injection framework. An increasingly popular approach to dependency injection implementation relies upon using java annotations, a special form of syntactic metadata provided by the dependency injection frameworks. However, uncontrolled use of annotations may lead to potential violations of well-known modularity principles. In this paper we catalogue "bad smells", i.e., modularity-violating annotations defined by the developer or originating from the popular dependency injection frameworks. For each violation we discuss potential implications and propose means of resolving it. By detecting modularity bad smells in java annotations our approach closes the gap between the state-of-the-art programming practice and currently available analysis techniques.
A short introduction to the EEG/ERP domain and a software solution for storing and managing of EEG/ERP experiments is presented in this paper. This solution was developed as a standalone web based system available...
详细信息
A short introduction to the EEG/ERP domain and a software solution for storing and managing of EEG/ERP experiments is presented in this paper. This solution was developed as a standalone web based system available for the community of researches to enable storing of experiments. Because authors' plan, to register this EEG/ERP portal as a recognizable data source, requires providing a domain ontology authors investigate the transformation of stored experiments into the Semantic web form. The transformation of experiments from the EEG/ERP portal into the Semantic web structures that resulted in the presented ontology is presented. Because the EEG/ERP portal is implemented using common programming technologies (object-oriented code, relational database) based on a different approach then the Semantic web technologies, semantic gaps have to be solved. Authors' presented a custom framework that adds missing semantics into the object-oriented code using java annotations. The set of designed annotations and its usage is presented. The paper also presents the ontology generated using a developed framework. Subsequently the paper simply describes a registration of the domain ontology within the Neuroscience Informational Framework. The result of this paper is the description of way to sharing a domain experiments using the semantic web technologies.
暂无评论