scholarly journals Automated and non-intrusive provenance capture with UML2PROV

Computing ◽  
2021 ◽  
Author(s):  
Carlos Sáenz-Adán ◽  
Francisco J. García-Izquierdo ◽  
Beatriz Pérez ◽  
Trung Dong Huynh ◽  
Luc Moreau

AbstractData provenance is a form of knowledge graph providing an account of what a system performs, describing the data involved, and the processes carried out over them. It is crucial to ascertaining the origin of data, validating their quality, auditing applications behaviours, and, ultimately, making them accountable. However, instrumenting applications, especially legacy ones, to track the provenance of their operations remains a significant technical hurdle, hindering the adoption of provenance technology. UML2PROV is a software-engineering methodology that facilitates the instrumentation of provenance recording in applications designed with UML diagrams. It automates the generation of (1) templates for the provenance to be recorded and (2) the code to capture values required to instantiate those templates from an application at run time, both from the application’s UML diagrams. By so doing, UML2PROV frees application developers from manual instrumentation of provenance capturing while ensuring the quality of recorded provenance. In this paper, we present in detail UML2PROV’s approach to generating application code for capturing provenance values via the means of Bindings Generation Module (BGM). In particular, we propose a set of requirements for BGM implementations and describe an event-based design of BGM that relies on the Aspect-Oriented Programming (AOP) paradigm to automatically weave the generated code into an application. Finally, we present three different BGM implementations following the above design and analyze their pros and cons in terms of computing/storage overheads and implications to provenance consumers.

2021 ◽  
Vol 20 (3) ◽  
pp. 1-25
Author(s):  
Elham Shamsa ◽  
Alma Pröbstl ◽  
Nima TaheriNejad ◽  
Anil Kanduri ◽  
Samarjit Chakraborty ◽  
...  

Smartphone users require high Battery Cycle Life (BCL) and high Quality of Experience (QoE) during their usage. These two objectives can be conflicting based on the user preference at run-time. Finding the best trade-off between QoE and BCL requires an intelligent resource management approach that considers and learns user preference at run-time. Current approaches focus on one of these two objectives and neglect the other, limiting their efficiency in meeting users’ needs. In this article, we present UBAR, User- and Battery-aware Resource management, which considers dynamic workload, user preference, and user plug-in/out pattern at run-time to provide a suitable trade-off between BCL and QoE. UBAR personalizes this trade-off by learning the user’s habits and using that to satisfy QoE, while considering battery temperature and State of Charge (SOC) pattern to maximize BCL. The evaluation results show that UBAR achieves 10% to 40% improvement compared to the existing state-of-the-art approaches.


2017 ◽  
Vol 14 (1) ◽  
pp. 1-36 ◽  
Author(s):  
Gaia Balp

This article outlines potential pros and cons of a future European regulation of proxy advisory firms, as set forth in the Commission’s Proposal for a Directive amending Directive 2007/36/EC. After summarizing criticisms concerning the proxy advisory industry, and findings regarding its de facto influence on investors’ voting conduct both in the US and in the European context, the article adverts to why the power of proxy advisors appears to be overestimated. Uncertainty on the status quo of the industry’s actual impact on key decisions in listed companies, as well as costs associated with a regulation, need to be considered for assessing the suitability of the rules drafted to ensure adequate levels of independence and quality of voting recommendations. While transparency rules may be preferred to stricter legal constraints or requirements in a first stage, possible shortcomings of the Draft Directive exist that may undermine its effectiveness. Analyzing the amendments to the Proposal adopted by the European Parliament, and the Council’s Presidency compromise text, may suggest a preferable approach as regards single rules still making their way through the European legislative process.


Proceedings ◽  
2021 ◽  
Vol 74 (1) ◽  
pp. 13
Author(s):  
Hatice Koç ◽  
Ali Mert Erdoğan ◽  
Yousef Barjakly ◽  
Serhat Peker

Software engineering is a discipline utilizing Unified Modelling Language (UML) diagrams, which are accepted as a standard to depict object-oriented design models. UML diagrams make it easier to identify the requirements and scopes of systems and applications by providing visual models. In this manner, this study aims to systematically review the literature on UML diagram utilization in software engineering research. A comprehensive review was conducted over the last two decades, spanning from 2000 to 2019. Among several papers, 128 were selected and examined. The main findings showed that UML diagrams were mostly used for the purpose of design and modeling, and class diagrams were the most commonly used ones.


Author(s):  
Grigoris Antoniou

This paper discusses the significance of nonmonotonic reasoning, a method from the knowledge representation area, to mainstream software engineering. In particular, we discuss why the use of defaults in specifications is an adequate way of addressing some of the most important problems in requirements engineering, such as: The problem of identifying and dealing with inconsistencies; evolving system requirements; requirements prioritization; and the quality of specifications with respect to naturalness and compactness. We argue that these problems need to be addressed in a principled, formal way, and that default reasoning provides adequate mechanisms to deal with them.


2011 ◽  
Vol 403-408 ◽  
pp. 2127-2130
Author(s):  
Chun Yan Liu ◽  
Zhu Lin Liu

With the computer software and technology continuously improving, because of various factors influencing, computer engineers are very tough on how to improve the quality of software products, this is a bottleneck problem we must solve. We think that the information engineering combining with the philosophy thought would make engineer’s ideas suddenly enlightened. We find a method and model to solve software engineering problems from the philosophical Angle, and put forward the importance of information philosophy in the study of information engineering by standing at this altitude of the information engineering. As a new field, information philosophy provides a unified, convergence theory frame, it can satisfy the requirement of further specialized. Information philosophy will become most exciting and productive philosophy research field in our era's.


2021 ◽  
Author(s):  
Arthur Lackner ◽  
Said Fathalla ◽  
Mojtaba Nayyeri ◽  
Andreas Behrend ◽  
Rainer Manthey ◽  
...  

AbstractThe publish or perish culture of scholarly communication results in quality and relevance to be are subordinate to quantity. Scientific events such as conferences play an important role in scholarly communication and knowledge exchange. Researchers in many fields, such as computer science, often need to search for events to publish their research results, establish connections for collaborations with other researchers and stay up to date with recent works. Researchers need to have a meta-research understanding of the quality of scientific events to publish in high-quality venues. However, there are many diverse and complex criteria to be explored for the evaluation of events. Thus, finding events with quality-related criteria becomes a time-consuming task for researchers and often results in an experience-based subjective evaluation. OpenResearch.org is a crowd-sourcing platform that provides features to explore previous and upcoming events of computer science, based on a knowledge graph. In this paper, we devise an ontology representing scientific events metadata. Furthermore, we introduce an analytical study of the evolution of Computer Science events leveraging the OpenResearch.org knowledge graph. We identify common characteristics of these events, formalize them, and combine them as a group of metrics. These metrics can be used by potential authors to identify high-quality events. On top of the improved ontology, we analyzed the metadata of renowned conferences in various computer science communities, such as VLDB, ISWC, ESWC, WIMS, and SEMANTiCS, in order to inspect their potential as event metrics.


2010 ◽  
Vol 7 (4) ◽  
pp. 769-787 ◽  
Author(s):  
Robertas Damasevicius ◽  
Vytautas Stuikys

The concept of complexity is used in many areas of computer science and software engineering. Software complexity metrics can be used to evaluate and compare quality of software development and maintenance processes and their products. Complexity management and measurement is especially important in novel programming technologies and paradigms, such as aspect-oriented programming, generative programming, and metaprogramming, where complex multilanguage and multi-aspect program specifications are developed and used. This paper analyzes complexity management and measurement techniques, and proposes five complexity metrics (Relative Kolmogorov Complexity, Metalanguage Richness, Cyclomatic Complexity, Normalized Difficulty, Cognitive Difficulty) for measuring complexity of metaprograms at information, metalanguage, graph, algorithm, and cognitive dimensions.


2020 ◽  
Author(s):  
Kristóf Umann ◽  
Zoltán Porkoláb

Uninitialized variables have been a source of errors since the beginning of software engineering. Some programming languages (e.g. Java and Python) will automatically zero-initialize such variables, but others, like C and C++, leave their state undefined. While laying aside initialization in C and C++ might be a performance advantage if an initial value can't be supplied, working with such variables is an undefined behavior, and is a common source of instabilities and crashes. To avoid such errors, whenever meaningful initialization is possible, it should be used. Tools for detecting these errors run time have existed for decades, but those require the problematic code to be executed. Since in many cases the number of possible execution paths are combinatoric, static analysis techniques emerged as an alternative. In this paper, we overview the technique for detecting uninitialized C++ variables using the Clang Static Analyzer, and describe various heuristics to guess whether a specific variable was left in an undefined state intentionally. We implemented a prototype tool based on our idea and successfully tested it on large open source projects.


2021 ◽  
Vol 2 ◽  
Author(s):  
Giussy Barbara ◽  
Laura Buggio ◽  
Federica Facchin ◽  
Paolo Vercellini

Endometriosis is associated with painful symptoms, infertility, sexological difficulties, and psychological suffering. All these symptoms have a negative impact on the overall quality of life of women with the disease, with significant personal, social and economic costs. Several medical options are available to manage symptomatic endometriosis. The pharmacological treatment for endometriosis-related pain may be necessary for decades, or at least until there is a desire for pregnancy or physiologic menopause occurs. In this perspective, clinicians should consider not only the efficacy, but also side effects, tolerability, and costs, along with women's preferences toward different treatments. In this mini-review, we analyzed the pros and cons of the available drugs for the medical therapy of endometriosis, such as estrogen-progestins, progestins, GnRH agonist and GnRH antagonists.


Sign in / Sign up

Export Citation Format

Share Document