1,163 research outputs found
Interface refactoring in performance-constrained web services
This paper presents the development of REF-WS an approach to enable a Web Service provider to reliably evolve their service through the application of refactoring transformations. REF-WS is intended to aid service providers, particularly in a reliability and performance constrained domain as it permits upgraded ânon-backwards compatibleâ services to be deployed into a performance constrained network where existing consumers depend on an older version of the service interface. In order for this to be successful, the refactoring and message mediation needs to occur without affecting functional compatibility with the servicesâ consumers, and must operate within the performance overhead expected of the original service, introducing as little latency as possible. Furthermore, compared to a manually programmed solution, the presented approach enables the service developer to apply and parameterize refactorings with a level of confidence that they will not produce an invalid or âcorruptâ transformation of messages. This is achieved through the use of preconditions for the defined refactorings
Git4Voc: Git-based Versioning for Collaborative Vocabulary Development
Collaborative vocabulary development in the context of data integration is
the process of finding consensus between the experts of the different systems
and domains. The complexity of this process is increased with the number of
involved people, the variety of the systems to be integrated and the dynamics
of their domain. In this paper we advocate that the realization of a powerful
version control system is the heart of the problem. Driven by this idea and the
success of Git in the context of software development, we investigate the
applicability of Git for collaborative vocabulary development. Even though
vocabulary development and software development have much more similarities
than differences there are still important differences. These need to be
considered within the development of a successful versioning and collaboration
system for vocabulary development. Therefore, this paper starts by presenting
the challenges we were faced with during the creation of vocabularies
collaboratively and discusses its distinction to software development. Based on
these insights we propose Git4Voc which comprises guidelines how Git can be
adopted to vocabulary development. Finally, we demonstrate how Git hooks can be
implemented to go beyond the plain functionality of Git by realizing
vocabulary-specific features like syntactic validation and semantic diffs
An ontology of agile aspect oriented software development
Both agile methods and aspect oriented programming (AOP) have emerged in recent years as new paradigms in software development. Both promise to free the process of building software systems from some of the constraints of more traditional approaches. As a software engineering approach on the one hand, and a software development tool on the other, there is the potential for them to be used in conjunction. However, thus far, there has been little interplay between the two. Nevertheless, there is some evidence that there may be untapped synergies that may be exploited, if the appropriate approach is taken to integrating AOP with agile methods. This paper takes an ontological approach to supporting this integration, proposing ontology enabled development based on an analysis of existing ontologies of aspect oriented programming, a proposed ontology of agile methods, and a derived ontology of agile aspect oriented development
A model-based approach to language integration
The interactions of several languages within a soft- ware system pose a number of problems. There is several anecdotal and empirical evidence supporting such concerns. This paper presents a solution to achieve proper language integration in the context of language workbenches and with limited effort. A simple example is presented to show how cross- language constraints can be addressed and the quality of the support attainable, which covers error-checking and refactoring. A research agenda is then presented, to support future work in the area of language integration, taking advantage of modern language workbenches features
Improving software quality using an ontology-based approach
Ensuring quality in software development is a challenging process. The concepts of anti-pattern and bad code smells utilize the knowledge of reoccurring problems to improve the quality of current and future software development. Anti-patterns describe recurring bad design solutions while bad code smells describe source code that is error-free but difficult to understand and maintain. Code refactoring aims to remove bad code smells without changing a programâs functionality while improving program quality. There are metrics-based tools to detect a few bad code smells from source code; however, the knowledge and understanding of these indicators of low quality software are still insufficient to resolve many of the problems they represent. Minimal research addresses the relationships between or among bad code smells, anti-patterns and refactoring. In this research, we present a new ontology, Ontology for Anti-patterns, Bad Code Smells and Refactoring (OABR), to define the concepts and their relation properties. Such an ontological infrastructure encourages a common understanding of these concepts among the software community and provides more concise definitions that help to avoid overlapping and inconsistent description. It utilizes reasoning capabilities associated with ontology to analyze the software development domain and offer new insights into the domain. Software quality issues such as understandability and maintainability can be improved by identifying and resolving anti-patterns associated with code smells as well as preventing bad code smells before coding begins
Forecasting the Spreading of Technologies in Research Communities
Technologies such as algorithms, applications and formats are an important part of the knowledge produced and reused in the research process. Typically, a technology is expected to originate in the context of a research area and then spread and contribute to several other fields. For example, Semantic Web technologies have been successfully adopted by a variety of fields, e.g., Information Retrieval, Human Computer Interaction, Biology, and many others. Unfortunately, the spreading of technologies across research areas may be a slow and inefficient process, since it is easy for researchers to be unaware of potentially relevant solutions produced by other research communities. In this paper, we hypothesise that it is possible to learn typical technology propagation patterns from historical data and to exploit this knowledge i) to anticipate where a technology may be adopted next and ii) to alert relevant stakeholders about emerging and relevant technologies in other fields. To do so, we propose the Technology-Topic Framework, a novel approach which uses a semantically enhanced technology-topic model to forecast the propagation of technologies to research areas. A formal evaluation of the approach on a set of technologies in the Semantic Web and Artificial Intelligence areas has produced excellent results, confirming the validity of our solution
Composite ontology change operators and their customizable evolution strategies
Change operators are the building blocks of ontology evolution. Elementary, composite and complex change operators have been suggested. While lower-level change operators are useful in terms of finegranular representation of ontology changes, representing the intent of change requires higher-level change operators. Here, we focus on higherlevel composite change operators to perform an aggregated task. We introduce composite-level evolution strategies. The central role of the evolution strategies is to preserve the intent of the composite change with respect to the userâs requirements and to reduce the change operational cost. Composite-level evolution strategies assist in avoiding the illegal changes or presence of illegal axioms that may generate inconsistencies during application of a composite change. We discuss few composite changes along with the defined evolution strategies as an example that allow users to control and customize the ontology evolution process
Expressing OWL axioms by English sentences: dubious in theory, feasible in practice
With OWL (Web Ontology Language) established as a standard for encoding ontologies on the Semantic Web, interest has begun to focus on the task of verbalising OWL code in controlled English (or other natural language). Current approaches to this task assume that axioms in OWL can be mapped to sentences in English. We examine three potential problems with this approach (concerning logical sophistication, information structure, and size), and show that although these could in theory lead to insuperable difficulties, in practice they seldom arise, because ontology developers use OWL in ways that favour a transparent mapping. This result is evidenced by an analysis of patterns from a corpus of over 600,000 axioms
in about 200 ontologies
ONTODL+: an ontology description language and its compiler
Dissertação de mestrado em Engenharia InformåticaOntologies are very powerful tools when it comes to handling knowledge. They offer a good
solution to exchange, store, search and infer large volumes of information. Throughout the
years various solutions for knowledge-based systems use ontologies at their core.
OntoDL has been developed as a Domain Specific Language using ANTLR4, to allow for
the specification of ontologies. This language has already been used by experts of various
fields has a way to use computer-based solutions to solve their problems.
In this thesis, included on the second year of the Master degree in Informatics Engineering,
OntoDL+ was created as an expansion of the original OntoDL. Both the language and
its compiler have been improved. The language was extended to improve usability and
productivity for its users, while ensuring an easy to learn and understand language. The
compiler was expanded to translate the language specifications to a vaster array of languages,
increasing the potential uses of the DSL with the features provided by the languages.
The compiler and some examples of the DSL can be downloaded at the website https:
//epl.di.uminho.pt/âŒgepl/GEPL DS/OntoDL/ created for the application and presented in
the final chapters of the thesis.As ontologias são formalismos muito poderosos no que toca a manipulação de conhecimento.
Estas oferecem uma boa solução para trocar, armazenar, procurar e inferir grandes volumes de informação. Ao longo dos anos, vårias soluçÔes para sistemas baseados em conhecimento
usaram ontologias como uma parte central do sistema.
A OntoDL Ă© uma Linguagem de DomĂnio EspecĂfico que foi desenvolvida atravĂ©s do uso
de ANTLR4, para permitir a especificação de ontologias. Esta linguagem foi jå utilizada por
especialistas de diversas åreas como forma de utilizar soluçÔes informåticas para resolver os
seus problemas.
Nesta tese, incluĂda no segundo ano do Mestrado em Engenharia InformĂĄtica, OntoDL+
foi criado como uma expansĂŁo tanto Ă linguagem e como ao seu compilador. A linguagem
foi extendida para melhorar a usabilidade e produtividade dos seus utilizadores, mantendo se fĂĄcil de aprender e perceber. O compilador foi expandido para ser capaz de traduzir as especificaçÔes de OntoDL+ para um leque de linguagens mais vasto, aumentando os potenciais usos da DSL atravĂ©s das funcionalidades providenciadas pelas linguagens alvo. O compilador e alguns exemplos da DSL podem ser acedidos no sĂtio https://epl.di.
uminho.pt/âŒgepl/GEPL DS/OntoDL/ criado para a aplicação e mostrado nos capĂtulos
finais da tese
- âŠ