132 research outputs found
A Approach for Management of Partial XML Data Replication
XML tornou-se um padrÃo amplamente utilizado na representaÃÃo e troca de dados entre aplicaÃÃes na Web. Com isso, um grande volume desses dados està distribuÃdo na Web e armazenado em diversos meios de persistÃncia. SGBDs relacionais que suportam XML fornecem tÃcnicas de controle de concorrÃncia para gerenciar esses dados. No entanto, a estrutura de dados XML dificulta a aplicaÃÃo dessas tÃcnicas.
Adicionalmente, as tÃcnicas de replicaÃÃo tÃm sido utilizadas para melhorar o gerenciamento de grandes quantidades de dados XML. Pesquisas atuais de replicaÃÃo de dados XML consistem em adaptar os conceitos existentes ao modelo semi-estruturado. Em especial, a replicaÃÃo total apresenta uma grande quantidade de bloqueios, em decorrÃncia das atualizaÃÃes ocorrerem em todas as cÃpias da base. Por outro lado, a replicaÃÃo parcial visa aumentar a concorrÃncia entre as transaÃÃes, com uma menor quantidade de bloqueios em relaÃÃo à replicaÃÃo total.
Este trabalho apresenta o RepliXP, uma estratÃgia para o gerenciamento da replicaÃÃo parcial de dados XML. Ele à apresentado como um mecanismo que combina caracterÃsticas de protocolos de replicaÃÃo sÃncronos e assÃncronos para diminuir o nÃmero de bloqueios de atualizaÃÃo. Para validar a estratÃgia, foram realizados testes de desempenho analisando o tempo de resposta das transaÃÃes. Foram comparadas as abordagens de replicaÃÃo total e replicaÃÃo parcial no RepliXP. De acordo com os resultados obtidos, o RepliXP utilizando a estratÃgia de replicaÃÃo parcial de dados XML proporcionou uma melhoria no tempo de resposta das transaÃÃes concorrentes.XML has become a widely used standard in representing and exchanging data among Web Applications. Consequently, a large amount of data is distributed on the Web and stored in several persistence medias. Relational DBMSs XML-enabled provide concurrency control techniques to manage such data. However, XML data structure makes it difficult implementation of these techniques.
Additionally, replication techniques have been used to improve management of large amounts of XML data. Current researches of XML data replication consist of to adapt existing concepts to semi-structured model. In particular, full replication provides a large of locks, due to updates that have occurred on all copies of the base. Moreover, the partial replication aims to increase concurrency among transactions, with a smaller amount of blocks in relation to total replication.
This work presents the RepliXP, towards for management of partial replication of XML data. It is presented as a mechanism that combines features of synchronous and asynchronous replication protocols to reduce the amount of update locks. In order to evaluate the strategy, performance tests were carried out by analyzing the response time of transactions. Full and partial replication approaches were compared in RepliXP. According to the results, RepliXP using the strategy of partial XML data replication provided an improvement in response time of concurrent transactions
Um modelo de dados para ambientes de projeto
A aplicação de projeto é comumente classificada como uma aplicação não-convencional. Como tal, apresenta requerimentos no tratamento dos dados que os bancos de dados comercialmente disponíveis não conseguem satisfazer /SID 80/. A estruturação dos dados dos sistemas que apóiam o projeto de sistemas digitais tem muito em comum com a organização dos dados nos modernos ambientes de desenvolvimento de software /MAC 89/. Este trabalho tem por objetivo propor um modelo de dados capaz de suprir as necessidades de modelagem dos dados dos ambientes de projeto de software e de hardware. O modelo proposto, chamado de BD_PAC, é uma extensão do modelo de dados do Sistema DAMOKLES. Ele apresenta os conceitos de objetos e relacionamentos organizados em tipos. Um tipo define a estrutura dos seus objetos. Os relacionamentos possibilitam ligações genéricas entre objetos, ou seja, ligações sem significado semantico preciso para o modelo de dados. O BD_PAC suporta uma coleção de conceitos de abstração /BRO 84/ que organiza e associa os objetos. O conceito de agregação corresponde a noção de propriedade no sentido de composição /MAT 88/. Objetos agregados podem compartilhar objetos componentes. O conceito de generalização suporta a formação de hierarquias de supertipos e subtipos. Nestas hierarquias, os subtipos herdam as propriedades dos supertipos.O conceito de associação permite a criação de conjuntos de objetos. 0 modelo fornece algumas funções para calcular automaticamente valores dos atributos dos conjuntos de acordo com valores dos atributos dos objetos membros. Todos estes conceitos podem-se compor indistintamente, formando hierarquias mistas em conceitos. O piano de versões do DAMOKLES também foi modificado. Ele agora reflete as características semânticas dos tipos versionados. Os tipos de objetos podem ser versionados ou não-versionados. Os objetos de urn tipo não-versionado são objetos que mantém a estrutura declarada no tipo. Por outro lado, cada objeto de tipo versionado é interpretado como um objeto abstrato que agrupa o conjunto de suas versões. As versões dos tipos versionados assumem a estrutura declarada no tipo. Finalmente, o BD_PAC é implementado tendo como base o sistema de gerencia de banco de dados DAMOKLES. Isto significa que, alem das características comuns de SGBDs (controle de concorrência, reconstrução de falha), são mantidas todas as facilidades de gerencia de dados para ambientes de projeto do DAMOKLES. Por exemplo, suporte para transação de projeto e manutenção de áreas de dados públicas e privativas a projetistas.Design application has been classified as a nonconventional application. As such, it presents data processing requirements that are not fulfilled with the database management systems available commercially /SID 80/. The data structure of the systems that support digital systems design has much in common with the data organization in the moderns software development environments /MAC 89/. This work's goal is to propose a data model that is able to fulfil the data modelling necessities of the software and hardware design environments. The proposed data model, called BD_PAC, is an extension of the DAMOKLES Design Object Data Model. It supports objects and relationships organized in types. An object type defines the structure of its objects. Relationships allow generic connection between objects, that is, connections that have no semantic meaning to the data model. BI)_PAC supports a collection of abstraction concepts /BRO 84/ that organize and associate objects. The aggregation concept corresponds to the notion of property, in the sense of composition /MAT 88/. Aggregate objects are allowed to share component objects. The generalization concept supports supertype and subtypes hierarchies. In those hierarchies, subtypes inherit the supertypes properties. The association concept supports object set creation. the data model offers some functions to be used in the automatic derivation of set attributes. The derivation is done over the values of the member objects' attributes. All these abstraction concepts may be integrated to form concept mixed hierarchies. The DAMOKLES versions plan has been also modified. It now reflects the semantic characteristics of versioned types. Object types may be either versioned or non-versioned. The objects of a nonversioned type keep the structured declared for the type. Otherwise, each object of a versioned type is treated as an abstract object that groups its version set. Versions of versioned types assume the structured declared for the type. Finally, BD_PAC is implemented over the DAMOKLES database management system. It means that, besides those common characteristics found in DBMS (concurrence control, recovery), facilities specially implemented for design application in DAMOKLES are also kept. For example, support for design transaction and public and private databases
Parrallélisme et transactions dans les bases de données à objets
This thesis defines an approach for exploring parallelism in object-oriented database systems outside of the context of SQL queries. We propose a technique for parallelazing transactions in a flat classical transaction model where a transaction is sequence of operations. Intra-transaction parallelism is accomplished by transforming transaction code definition in order to execute operations in parallel. Our approach for exploring parallelism inside applications first extends the intra-transaction parallelization model so that a transaction is considered as an unit of parallelization. We have then considered a nested transaction model for exploring parallelism inside applications. We developed a parallelization model for applications where we merge capabilities for parallel execution already given in nested transactions with our approach for transaction parallelization by transformation. We implemented a prototype for the intra-transaction parallelization model, using the O2 object-oriented database system. The prototype introduces parallel execution inside O2 transactions through creation and synchronization of threads inside an O2 client running an application. Our prototype runs in a monoprocessor Unix-like workstation and supports virtual parallelism. We also applied the transaction parallelization model to the NAOS Rule System. Our approach considers a set of rules of an execution cycle for parallelization. We build an execution plan for the rules of a cycle which defines sequential or parallel execution for the rules.Cette thèse cherche à exploiter le parallélisme dans le contexte des systèmes de gestion de bases de données à objet à d'autres niveaux d'abstraction que celui d'une requête SQL, à savoir le parallélisme intra-transaction et le parallélisme intra-application. Notre approche pour parallélisation des transactions considère un modèle de transactions classiques, ou une transaction est une séquence d'opérations. Le parallélisme intra-transaction consiste à transformer le code d'une transaction pour pouvoir exécuter ses opérations en parallèle. Notre approche pour l'exploitation du parallélisme intra-application étend tout d'abord le modèle de parallélisme intra-transaction de manière à considérer la transaction comme unité de parallélisation. Deuxièmement nous avons considéré l'exploitation du parallélisme intra-application dans un contexte ou le modèle de transactions fournit des transactions emboîtées. Nous avons développé un modèle de parallélisation des applications où nous associons le parallélisme offert par le modèle des transactions emboîtées avec le parallélisme par transformation de notre approche de parallélisation des transactions. Nous avons implanté un premier prototype qui met en oeuvre le modèle de parallélisation des transactions. Pour cela, nous avons utilisé le système de bases de données à objet O2. Notre prototype introduit le parallélisme par la création et la synchronisation des activités parallèles au sein du processus client O2 qui exécute une application. Le système étant développé sur une machine monoprocesseur, les fonctions liées au parallélisme utilisent de processus légers. Nous avons appliqué ensuite notre modèle de parallélisation au système de règles NAOS. Notre approche considère l'ensemble de règles d'un cycle d'exécution, dites règles candidates, pour la parallélisation. Nous construisons un plan d'exécution pour les règles candidates d'un cycle qui détermine l'exécution séquentielle ou parallèle des règles
GROOT (chanGe pROneness Open daTaset)
<p>GROOT (chanGe pROneness Open daTaset)</p>
<p>General Information</p>
<p>Data Set Characteristics: Multivariate</p>
<p>Associated Tasks: Classification</p>
<p>Number of Instances: 4183</p>
<p>Number of Attributes: 8</p>
<p>Missing Values? No</p>
<p>Area: Software Engineering</p>
<p>Source</p>
<p>Cristiano Sousa Melo</p>
<p>Matheus Mayron Lima da Cruz</p>
<p>Antônio Diogo Forte Martins</p>
<p>José Maria da Silva Monteiro Filho</p>
<p>Javam de Castro Machado</p>
<p>Data Set Information</p>
<ul>
<li>The data set of this work is generated from the backend source code of a WEB application started in 2013, and until 2018 were collected 8 releases to analyze change-prone classes</li>
<li>The dependent variable "will change" has obtained according to [1]</li>
<li>The dependent variable "will change" is imbalanced, containing 3871 "not change" (0) labels and 312 "will change" (1) label</li>
</ul>
<p>Attribute Information</p>
<p><strong>instanceID</strong>: It is responsible for identifying each instance of the dataset uniquely.</p>
<p><strong>classID</strong>: This column indicates the class from which the information of the row was extracted. It is a value obtained by hashing the name of the class.</p>
<p><strong>releaseID</strong>: This column indicates the release from which the information of the row was extracted.</p>
<p><strong>CBO (Coupling Between Object) [2]:</strong> A class is coupled to another one if it used its member functions and/or instance variables. CBO provides the number of classes to which a given class is coupled. Range: 0 - 162</p>
<p><strong>CC (Cyclomatic Complexity) [3]:</strong> It is a software metric used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code. Range: 0 - 488.0</p>
<p><strong>DIT (Depth of Inheritance Tree) [2]:</strong> It is defined as the maximum depth of the inheritance graph of each class. Range: 0 - 7</p>
<p><strong>LCOM (Lack of Cohesion on Methods) [2]:</strong> This is the number of pairs of member functions without shared instance variables, minus the number of pairs of members functions with shared instance variables. Range: 0 - 1</p>
<p><strong>LOC:</strong> Number of lines of codes. Imports and comments are not included. Range: 0 - 1369</p>
<p><strong>NOC (Number Of Children) [2]:</strong> It is the number of direct descendants for each class. Range: 0 - 189</p>
<p><strong>RFC (Response For a Class) [2]:</strong> This is the number of methods that can potentially be executed in response to a message received by an object of that class. Range: 0 - 413</p>
<p><strong>WMC (Weighted Methods per Class) [2]:</strong> It is the number of methods of a class.Range: 0 - 56</p>
<p><strong>class_frequency:</strong> It is the number of appearences that the class has through all the releases. Range: 0 - 8</p>
<p><strong>number_of_changes:</strong> It is the number of changes that a class suffered through all the releases. Range: 0 - 7</p>
<p><strong>will_change:</strong> It is the dependent variable, the indicator of a class change prone.</p>
<p><strong>change_probability:</strong> It is the number of changes divided by the class frequency. Range: 0 - 1</p>
<p>References</p>
<p>[1] Lu, H., Zhou, Y., Xu, B., Leung, H., and Chen, L. (2012). The ability of object-oriented metrics to predict change-proneness: a meta-analysis. Empirical Software Engineering, 17(3)</p>
<p>[2] S. R. Chidamber and C. F. Kemerer, "A metrics suite for object oriented design," in IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 476-493, June 1994.</p>
<p>[3] T. J. McCabe, "A Complexity Measure," in IEEE Transactions on Software Engineering, vol. SE-2, no. 4, pp. 308-320, Dec. 1976.</p>
Change Proneness Prediction Data Set
<p>Change Proneneness Prediction Data Set</p>
<p>General Information</p>
<p>Data Set Characteristics: Multivariate</p>
<p>Associated Tasks: Classification</p>
<p>Number of Instances: 4183</p>
<p>Number of Attributes: 8</p>
<p>Missing Values? No</p>
<p>Area: Software Engineering</p>
<p>Source</p>
<p>Cristiano Sousa Melo</p>
<p>Matheus Mayron Lima da Cruz</p>
<p>Antônio Diogo Forte Martins</p>
<p>Tales Matos</p>
<p>José Maria da Silva Monteiro Filho</p>
<p>Javam de Castro Machado</p>
<p>Data Set Information</p>
<ul>
<li>The data set of this work is generated from the backend source code of a WEB application started in 2013, and until 2018 were collected 8 releases to analyze change-prone classes</li>
<li>The dependent variable "will change" has obtained according to [1]</li>
<li>The dependent variable "will change" is imbalanced, containing 3871 "not change" (0) labels and 312 "will change" (1) label</li>
</ul>
<p>Attribute Information</p>
<p><strong>Path:</strong> It is the ID of a class.</p>
<p><strong>CBO (Coupling Between Object) [2]:</strong> A class is coupled to another one if it used its member functions and/or instance variables. CBO provides the number of classes to which a given class is coupled. Range: 0 - 162</p>
<p><strong>CC (Cyclomatic Complexity) [3]:</strong> It is a software metric used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code. Range: 0 - 488.0</p>
<p><strong>DIT (Depth of Inheritance Tree) [2]:</strong> It is defined as the maximum depth of the inheritance graph of each class. Range: 0 - 7</p>
<p><strong>LCOM (Lack of Cohesion on Methods) [2]:</strong> This is the number of pairs of member functions without shared instance variables, minus the number of pairs of members functions with shared instance variables. Range: 0 - 1</p>
<p><strong>LOC:</strong> Number of lines of codes. Imports and comments are not included. Range: 0 - 1369</p>
<p><strong>NOC (Number Of Children) [2]:</strong> It is the number of direct descendants for each class. Range: 0 - 189</p>
<p><strong>RFC (Response For a Class) [2]:</strong> This is the number of methods that can potentially be executed in response to a message received by an object of that class. Range: 0 - 413</p>
<p><strong>WMC (Weighted Methods per Class) [2]:</strong> It is the number of methods of a class.Range: 0 - 56</p>
<p><strong>class_frequency:</strong> It is the number of appearences that the class has through all the releases. Range: 0 - 8</p>
<p><strong>will_change:</strong> It is the dependent variable, the indicator of a class change prone.</p>
<p><strong>number_of_changes:</strong> It is the number of changes that a class suffered through all the releases. Range: 0 - 7</p>
<p><strong>change_probability:</strong> It is the number of changes divided by the class frequency. Range: 0 - 1</p>
<p>References</p>
<p>[1] Lu, H., Zhou, Y., Xu, B., Leung, H., and Chen, L. (2012). The ability of object-oriented metrics to predict change-proneness: a meta-analysis. Empirical Software Engineering, 17(3)</p>
<p>[2] S. R. Chidamber and C. F. Kemerer, "A metrics suite for object oriented design," in IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 476-493, June 1994.</p>
<p>[3] T. J. McCabe, "A Complexity Measure," in IEEE Transactions on Software Engineering, vol. SE-2, no. 4, pp. 308-320, Dec. 1976.</p>
RDF na interoperabilidade entre domínios na web.
Este trabalho trata da aplicabilidade da tecnologia Resource Description Framework – RDF na interoperabilidade entre diferentes domínios. O tema é desenvolvido com uma fundamentação teórica e com um estudo de caso, através do qual são desenvolvidas aplicações para a Web, interoperáveis via RDF. O objetivo específico é traçar uma estratégia para aplicar RDF, exemplificando-a através do estudo de caso. Neste estudo, promove-se a interoperabilidade entre dois domínios (Anúncios Classificados e Serviços de Cartórios), aplicando Resource Description Framework em serviços na Web. Algumas características deste trabalho são: o processo de desenvolvimento das aplicações é baseado no RUP – Rational Unifield Process; os esquemas RDF dos domínios são criados durante a fase de elaboração de cada aplicação a partir do modelo de classes do domínio inicialmente representado através da UML; as aplicações Web para cada domínio são desenvolvidas com características das chamadas Semantic Web Applications, utilizando as especificações RDF para mostrar a interoperabilidade entre elas. Por fim, o trabalho é concluído com algumas análises e comentários acerca dos resultados alcançados com o estudo de caso, e são feitas algumas sugestões para subsidiar trabalhos futuros na área.This work is a study of the applicability of The Resource Description Framework (RDF) on the interoperability of data between different domains. First, the theoretical context of the theme is given, followed by a case study about the development of Interoperable Web Applications by RDF. The specific objective is presented a strategy for the application of the RDF, demonstrating it through a case study. In this work, the interoperability of two domains (Classified Ads and Notorial Services) is demonstrated through web applications. Some features of this work are presented as the following. The development process of the solution is RUP based (Rational Unifield Process). The RDF schemas of the domains are created during the elaboration phase of each application using the UML language. The Applications for each domain are built with features of Semantic Web Applications, applying RDF specifications, to promote the interoperability between them. In conclusion, some final analyses, comments and conclusions are made about the results of the case study, as well as suggestions for future research are presented
KNN queries in time-dependent networks
Nesta dissertaÃÃo foi estudado o problema de processar consultas kNN em redes de rodovias considerando o histÃrico das condiÃÃes de trÃfego, em particular o caso onde a velocidade dos objetos mÃveis depende do tempo. Dado que um usuÃrio està em uma dada localizaÃÃo e em um determinado instante de tempo, a consulta retorna os k pontos de interesse (por exemplo, postos de gasolina) que podem ser alcanÃados em uma quantidade de tempo mÃnima
considerando condiÃÃes histÃricas de trÃfego. SoluÃÃes anteriores para consultas kNN e outras consultas comuns em redes de rodovia estÃticas nÃo funcionam quando o custo das arestas (tempo de viagem) à dependente do tempo. A construÃÃo de estratÃgias e algoritmos eficientes e corretos, e mÃtodos de armazenamento e acesso para o processamento destas consultas à um desafio desde que algumas das propriedades de grafos comumente supostas em estratÃgias para redes estÃticas nÃo se mantÃm para redes dependentes do tempo. O mÃtodo proposto aplica uma busca A∗ à medida que vai, de maneira incremental, explorando a rede. O objetivo do mÃtodo à reduzir o percentual da rede avaliado na busca. Para dar suporte à execuÃÃo do algoritmo, foi tambÃm proposto um mÃtodo para armazenamento e acesso para redes dependentes do tempo. A construÃÃo e a corretude do algoritmo sÃo discutidas e sÃo apresentados resultados
experimentais com dados reais e sintÃticos que mostram a eficiÃncia da soluÃÃo.In this dissertation we study the problem of processing k-nearest neighbours (kNN)queries in road networks considering the history of traffic conditions, in particular the case where the speed of moving objects is time-dependent. For instance, given that the user is at a given location at a certain time, the query returns the k points of interest (e.g., gas stations) that can be reached in the minimum amount of time. Previous solutions to answer kNN queries and
others common queries in road networks do not work when the moving speed in each road is not constant. Building efficient and correct approaches and algorithms and storage and access
schemes for processing these queries is a challenge because graph properties considered in static networks do not hold in the time dependent case. Our approach uses the well-known A∗ search algorithm by applying incremental network expansion and pruning unpromising vertices. The goal is reduce the percentage of network assessed in the search. To support the algorithm execution, we propose a storage and access method for time-dependent networks. We discuss
the design and correctness of our algorithm and present experimental results that show the efficiency and effectiveness of our solution
- …
