3 resultados para Italian industrial property code
em QSpace: Queen's University - Canada
Resumo:
In Model-Driven Engineering (MDE), the developer creates a model using a language such as Unified Modeling Language (UML) or UML for Real-Time (UML-RT) and uses tools such as Papyrus or Papyrus-RT that generate code for them based on the model they create. Tracing allows developers to get insights such as which events occur and timing information into their own application as it runs. We try to add monitoring capabilities using Linux Trace Toolkit: next generation (LTTng) to models created in UML-RT using Papyrus-RT. The implementation requires changing the code generator to add tracing statements for the events that the user wants to monitor to the generated code. We also change the makefile to automate the build process and we create an Extensible Markup Language (XML) file that allows developers to view their traces visually using Trace Compass, an Eclipse-based trace viewing tool. Finally, we validate our results using three models we create and trace.
Resumo:
This dissertation focuses on industrial policy in two developing countries: Peru and Ecuador. Informed by comparative historical analysis, it explains how the Import-Substitution Industrialization policies promoted during the 1970s by military administration unravelled in the following 30 years under the guidance of Washington Consensus policies. Positioning political economy in time, the research objectives were two-fold: understanding long-term policy reform patterns, including the variables that conditioned cyclical versus path-dependent dynamics of change and; secondly, investigating the direction and leverage of state institutions supporting the manufacturing sector at the dawn, peak and consolidation of neoliberal discourse in both countries. Three interconnected causal mechanisms explain the divergence of trajectories: institutional legacies, coordination among actors and economic distribution of power. Peru’s long tradition of a minimal state contrasts with the embedded character of Ecuador long tradition of legal protectionism dating back to the Liberal Revolution. Peru’s close policy coordination among stakeholders –state technocrats and business elites- differs from Ecuador’s “winners-take-all” approach for policy-making. Peru’s economic dynamism concentrated in Lima sharply departs from Ecuador’s competitive regional economic leaderships. This dissertation paid particular attention to methodology to understand the intersection between structure and agency in policy change. Tracing primary and secondary sources, as well as key pieces of legislation, became critical to understand key turning points and long-term patterns of change. Open-ended interviews (N=58) with two stakeholder groups (business elites and bureaucrats) compounded the effort to knit motives, discourses, and interests behind this long transition. In order to understand this amount of data, this research build an index of policy intervention as a methodological contribution to assess long patterns of policy change. These findings contribute to the current literature on State-market relations and varieties of capitalism, institutional change, and policy reform.
Resumo:
Modern software applications are becoming more dependent on database management systems (DBMSs). DBMSs are usually used as black boxes by software developers. For example, Object-Relational Mapping (ORM) is one of the most popular database abstraction approaches that developers use nowadays. Using ORM, objects in Object-Oriented languages are mapped to records in the database, and object manipulations are automatically translated to SQL queries. As a result of such conceptual abstraction, developers do not need deep knowledge of databases; however, all too often this abstraction leads to inefficient and incorrect database access code. Thus, this thesis proposes a series of approaches to improve the performance of database-centric software applications that are implemented using ORM. Our approaches focus on troubleshooting and detecting inefficient (i.e., performance problems) database accesses in the source code, and we rank the detected problems based on their severity. We first conduct an empirical study on the maintenance of ORM code in both open source and industrial applications. We find that ORM performance-related configurations are rarely tuned in practice, and there is a need for tools that can help improve/tune the performance of ORM-based applications. Thus, we propose approaches along two dimensions to help developers improve the performance of ORM-based applications: 1) helping developers write more performant ORM code; and 2) helping developers configure ORM configurations. To provide tooling support to developers, we first propose static analysis approaches to detect performance anti-patterns in the source code. We automatically rank the detected anti-pattern instances according to their performance impacts. Our study finds that by resolving the detected anti-patterns, the application performance can be improved by 34% on average. We then discuss our experience and lessons learned when integrating our anti-pattern detection tool into industrial practice. We hope our experience can help improve the industrial adoption of future research tools. However, as static analysis approaches are prone to false positives and lack runtime information, we also propose dynamic analysis approaches to further help developers improve the performance of their database access code. We propose automated approaches to detect redundant data access anti-patterns in the database access code, and our study finds that resolving such redundant data access anti-patterns can improve application performance by an average of 17%. Finally, we propose an automated approach to tune performance-related ORM configurations using both static and dynamic analysis. Our study shows that our approach can help improve application throughput by 27--138%. Through our case studies on real-world applications, we show that all of our proposed approaches can provide valuable support to developers and help improve application performance significantly.