1 |
The Effects of Concern Crosscutting Homogeneity on the Evolvability of Aspect Oriented SoftwareLondono, Hernan 01 January 2013 (has links)
Aspect oriented programming is a relatively new programming paradigm aimed at improving the development of software through a mechanism that allows for crosscutting concerns to be better modularized. Such concern crosscutting is an element of software artifacts that affects one or more quality attributes and ultimately the ability of software to evolve to meet new functional requirements, or to take advantage of new hardware, or meet new business rules. The aim of this dissertation was to explore the relationship between the degree of crosscutting present in a software artifact and its evolvability. This research study illustrates the correlation between the homogeneity of a program's features and its ability to evolve. Throughout the study, such correlation was drawn from a three pronged approach, first by looking at measuring how invasive code changes are, second by identifying a measurable evolvability indicator, and third by using such indicator to propose changes in program constructs that can enhance or improve the evolvability of it. This study proposed the use of existing concern crosscutting metrics to measure invasiveness of code changes and the variability of such measurements to infer a measurable evolvability indicator. Through this approach a number of contributions were made to the body on knowledge, first the creation of a way to quantify evolvability of Aspect Oriented programmed software, and secondly, a way of identifying parts of an Aspect Oriented artifact that can contribute to the deterioration of the system by hindering its evolvability.
|
2 |
支援多租戶應用程式的SQL語句轉換機制 / A SQL rewriting mechanism for enabling multi-tenant applications吳定威, Wu, Ding Wei Unknown Date (has links)
軟體即服務(Software as a Service, SaaS)是雲端運算環境下一種新興的服務模式,它的特色是將特定的應用軟體以共享軟硬體資源的方式供眾多的租戶(tenants)使用。因此,如何提供共用且有客制化功能的應用軟體就是SaaS模式的重要成功關鍵。本研究聚焦於資料庫層提供多租戶共用表格但有客制化功能的機制。讓開發人員延續一租戶一資料表的架構為基礎設計資料庫,透過SQL語句轉換機制,將SQL語句轉換為操作共享表格的語句執行,以大幅減化開發人員的工作。本研究包含兩個部份,一是資料綱要對應表(Schema Mapping Table),協助開發人員將單租戶資料庫架構轉換為塊狀表格(chunk table)的共用資料綱要方式;另一個是SQL語句自動轉換工具,透過剖面技術織入JDBC程式集中,在應用系統執行期間,將SQL語句,從一租戶一資料表寫法轉換為共享表格的方式執行。故只需將資料表改為共用架構即可使用,達到提升多租戶系統開發速度並提高資源使用率的目的。 / Software as a service (SaaS) is an emerging service model of cloud computing, which is characterized by providing software that charges on a usage basis over shared hardware and software resources for a large number of tenants to use. Therefore, how to provide shared tables and customization of the applications is an important key to success in the SaaS model. This study focuses on how to enable multi-tenancy on the database layer Developers can extend a private table structure-based application to a shared database one through the proposed SQL rewriting mechanism. This approach can greatly simplify the developer's work. Our approach consists of two parts, first is Schema Mapping Table that helps developers to convert single-tenant database architecture into the chunk table schema; another is SQL statement conversion tools that works by enhancing the JDBC library as an aspect in the AspectJ language. During the execution of the application, a SQL statement is rewritten from the private table based format into chunk table based statement. In this way, we are able to enhance an application with multitenant shared tables that improve resource utilization.
|
3 |
Model adaptivnog sistema za praćenje i predikciju rada distribuiranih aplikacija / Model of Adaptive System for Continuous Monitoring and Performance Prediction of Distributed ApplicationsOkanović Dušan 01 October 2012 (has links)
<p>Stalno praćenje rada softvera je neophodno da bi se utvrdilo da li softver poštuje zadate nivoe kvaliteta. Na osnovu sakupljenih podataka, moguće je da se predvidi i dalje ponašanje aplikacije i da se izvrši izbor daljih akcija da bi se održao zahtevani nivo. Tema ove disertacije je razvoj sistema za kontinualno praćenje performansi softvera, kao i razvoj modela za predviđanje performansi softvera. Za implementaciju sistema potrebljena je JEE tehnologija, ali je sistem razvijen tako da može da se primeni i za praćenje softvera razvijenog za druge platforme. Sistem je modelovan tako minimalno utiče na performanse sistema softvera koji se prati. Linearna regresija je upotrebljena za modelovanje zavisnosti performansi od okruženja u kom se softver izvršava. Sistem je upotrebljen za praćenje izabrane JEE aplikacije.</p> / <p>Continuous monitoring of software is necessary to determine whether the software performs within required service perfomance levels. Based on collected data, it is possible to predict the future performance of applications and to plan further actions in order to maintain the required service levels. The theme of this dissertation is the development of systems for continuous performance monitoring software, as well as the development of models for predicting the performance of software. To implement the system was used JEE technologies, but the system was developed so that it can be used for tracking software developed for other platforms. The system is modeled as a minimum impact on system performance software that is monitored. Linear regression was used for modeling the dependence of the performance environment in which the software is running. The system was used to monitor selected JEE applications.</p>
|
4 |
Odstraňování vybraných léčiv z odpadních vod oxidačními procesy / Removal of selected medicines from waste water by oxidation processesÚterský, Michal Unknown Date (has links)
A concept of removing of pharmaceuticals from a wastewater is become more important topic. Currently we can see the increasing consumption of pharmaceuticals worldwide and an increasing effective doses of pharmaceuticals due to the resistance of microorganisms. Generally, a medicine means an active substance or their mixtures. The medicine is used for positive influencing of human’s and animal’s health. Nevertheless, a long term presence of pharmaceuticals in the environment leads to chronic toxic aquatic organisms, possibilities of multiplication of multi-resistant pathogenic bacterial strains, deterioration of reproduction of animals and their endocrine system. My dissertation is focused on a removing of pharmaceuticals from the wastewater via advanced oxidation processes. Results of research showed that the advanced oxidation processes are able to reduce concentration of pharmaceuticals. Mainly priority of this problem is other cleaning level of the wastewater which flows away from urban WWTP to river. Wastewaters consist of large volume of pharmaceuticals due to excrements, urination and flushing of outdated pharmaceuticals. An efficiency of advanced oxidation processes on the removal selected types of pharmaceuticals is a part of practical selection of the dissertation.
|
5 |
Using Class Interfaces and Mock Objects to Unit Test AspectsSnider, Michael Bryan 07 October 2014 (has links)
In object oriented programming (OOP) class objects are individual units of code that encapsulate the desired functionality of each object. AOP is an attempt to handle the cross-cutting concerns that represent functionality needed by a class, but is not specific to that class. The cross-cutting functionality is implemented in AOP by using a class-like structure, the aspect. Aspects do not have their own context and as such are dependent upon other objects for their context. By not having their own context it is difficult to test the functionality of aspects. This study investigated the effectiveness of using class interfaces and mock objects to unit test aspects. This was accomplished by having the mock object inherit from the same interface as the base code, so that the mock object could be swapped in for the aspect.
|
6 |
應用剖面技術實作資料庫存取應用之偵錯工具 / Design and implementation of an aspect-based debugging tool for database applications張妏瑛, Chang, Wen Ying Unknown Date (has links)
對於不同團隊協同開發大型的應用程式,常會面臨應用程式自行處理例外事件而未正確回報用戶之執行結果與無法得知封閉式類別庫內部詳細呼叫流程,導致偵錯不易的困擾。有鑒於此,本研究將實作一個工具,利用Aspect-Oriented Programming(AOP)特性,將AspectJ織入JDBC驅動程式並賦予存取紀錄儲存之功能,既可免除應用程式本身未針對資料庫儲存存取紀錄的問題,直接儲存所有存取紀錄,亦不影響資料庫操作,更可以分辦造成錯誤發生的程式以釐清問題,有效幫助偵錯。此工具適用於任何使用JDBC介面去存取資料庫管理系統(DBMS)之JAVA應用程式,它能在不影響應用程式的情況下客製化儲存應用程式透過JDBC驅動程式連結資料庫管理系統(DBMS)的存取紀錄,並利用存取紀錄進行分析並複製存取行為,以提供更豐富的資訊進一步協助偵錯。 / When using a large database application which is jointly designed by different teams, the administrators are often confronted with a problem that the application handles the exception spontaneously and often fails to report back the result of user’s execution. Therefore, the administrator can’t be informed of the details of the calling flow in case of exceptions. This will make it not only difficult to find which part of the application goes wrong, but also hard to fix. To resolve this problem, this thesis designs and implements an aspect-based debugging tool for such database applications. The key idea behind the tool is that, instead of adapting the large application for logging database access activities, we target at the JDBC driver and make JDBC driver capable of saving access log. This tool works for any JAVA applications that use JDBC interface to access database. Without any modification to the user-level application, this tool can save the access log obtained by application which use JDBC driver to connect the database, and the administrator can customize the access log. By analyzing the access records and duplicating the access behavior, this tool provides more information to further assist in application debugging.
|
7 |
A Framework for Enforcing Role Based Access Control in Open Source SoftwareManning, Francis Jay 01 January 2013 (has links)
While Role Based Access Control (RBAC) has been a popular topic of research over the last several years, there are some gaps in the literature that have been waiting to be addressed. One of these gaps involves the application of RBAC to free and open source software (FOSS). With the prevalence of FOSS in most information systems growing rapidly, there is a need to be able to provide a level of confidence that the software will not compromise the data integrity of an environment, nor will it enable the violation of established access controls. Additionally, when utilizing FOSS software it is desirable to
do so without having to modify its source code whenever an update is released in order to maintain a secure environment; this makes adding proprietary modules both time consuming and expensive. The challenges involved in maintaining proprietary changes to
FOSS generates a particular interest in an RBAC environment that could be deployed without requiring modification to the source code. Developing this type of a framework presented a significant challenge due to the software having been established prior to the
definition of any security requirements that would have to be applied by the proposed framework.
What this research paper shows are the results of the development of a software framework that allowed security requirements engineering to seamlessly meld with an application after it had already been developed. This framework provided a mechanism to measurably reduce the attack surface of the application against which the framework was implemented, while performing these tasks without requiring alterations to the source code of the application. Additionally, this research introduced a mechanism that was
utilized to measure the effectiveness of the framework. This mechanism provided a means of comparing the relative effectiveness of different frameworks against the same software, as well as the effectiveness of a framework against different pieces of software.
|
8 |
Degradação da resina de troca iônica utilizando o reagente de Fenton / Degradation of ion spent resin using the Fentons reagentAraujo, Leandro Goulart de 15 August 2013 (has links)
O método mais comum de tratamento da resina de troca iônica radioativa é a imobilização em cimento, que reduz a liberação de radionuclídeos para o meio ambiente. Apesar de eficiente, esse método é custoso, pois a quantidade final de rejeito gerada é elevada, já que a capacidade de carga de imobilização é baixa. Este trabalho tem como objetivo desenvolver um método de degradação das resinas provenientes do reator de pesquisa nuclear do Instituto de Pesquisas Energéticas e Nucleares, utilizando o Processo Oxidativo Avançado (POA) com reagentes de Fenton. Isso permitiria uma incorporação maior no cimento. Três formas da resina foram avaliadas: catiônica, aniônica, e uma mistura de ambas as resinas. As reações foram realizadas variando a concentração do catalisador (25, 50, 100 e 150 mM), do volume de peróxido de hidrogênio (320 a 460 mL), e de três temperaturas diferentes, 50, 60 e 70 °C. A solução de catalisador mais eficiente foi a de concentração de 50 mM e volume de 330 mL de peróxido, degradando aproximadamente 98% da quantidade de resina. A temperatura mais eficiente foi a de 60 º C. / The most common method for spent radioactive ion exchange resin treatment is its immobilization in cement, which reduces the radionuclides release into the environment. Although this method is efficient, it increases considerably the final volume of the waste due to the low incorporation capacity. The objective of this work was to develop a degradation method of spent resins arising from the nuclear research reactor located at the Nuclear and Energy Research Institute (IPEN-CNEN/SP), using an Advanced Oxidation Process (AOP) with Fentons reagents. This method would allow a higher incorporation in cement. Three different resins were evaluated: cationic, anionic and a mixture of both resins. The reactions were conducted varying the catalyst concentration (25, 50, 100 and 150 mM), the volume of hydrogen peroxide (320 to 460 mL), and three different temperatures, 50, 60 and 70 ºC. Degradation of about 98% was achieved using a 50 mM catalyst solution and 330 mL of hydrogen peroxide solution. The most efficient temperature was 60ºC.
|
9 |
Simplifying development of secure software : Aspects and Agile methodsBoström, Gustav January 2006 (has links)
<p>Reducing the complexity of building secure software systems is an important goal as increased complexity can lead to more security flaws. This thesis aims at helping to reduce this complexity by investigating new programming techniques and software development methods for implementing secure software. We provide case studies on the use and effects of applying Aspect-oriented software development to Confidentiality, Access Control and Quality of Service implementation. We also investigate how eXtreme Programming can be used for simplifying the secure software development process by comparing it to the security engineering standards Common Criteria and the Systems Security Engineering Capability Maturity Model. We also explore the relationship between Aspect-oriented programming and Agile software development methods, such as eXtreme Programming.</p>
|
10 |
Distributed Aspects: better separation of crosscutting concerns in distributed software systemsBenavides Navarro, Luis Daniel 19 January 2009 (has links) (PDF)
This thesis shows that abstractions provided by current mainstream Object Oriented (OO) languages are not enough to address the modularization of distributed and concurrent algo- rithms, protocols, or architectures. In particular, we show that code implementing concurrent and distributed algorithms is scattered and tangled in the main implementation of JBoss Cache, a real industrial middleware application. We also show that not only code is tangled, but also conceptual algorithms are hidden behind object-based structures (i.e., they are not visible in the code). Additionally, we show that such code is resilient to modularization. Thus, we show that several cycles of re-engineering (we study the evolution of three different version of JBoss Cache) using the same set of OO abstractions do not improve on the modularization of distributed and concurrent code. From these findings we propose a novel Aspect Oriented programming language with explicit support for distribution and concurrency (AWED). The language uses aspects as main abstractions and propose a model for distributed aspects and remote pointcuts, extending sequential approaches with support for regular sequences of distributed events. The language also proposes advanced support for the manipulation of groups of host, and the fine-grained deterministic ordering of distributed events. To evaluate the proposal we perform several experiments in different domains: refactoring and evolution of replicated caches, development of automatic toll systems, and debugging and testing of distributed applications. Finally, using this general model for distribution we provide two additional contributions. First, we introduce Invasive Patterns, an extension to traditional communication patterns for distributed applications. Invasive Patterns present an aspect-based language to express protocols over distributed topologies considering different coordination strategies (Architec- tural programming). The implementation of this approach is leveraged by the distributed features of AWED and is realized by means of a transformation into it. Second, we add the deterministic manipulation of distributed messages to our model by means of causally ordered protocols.
|
Page generated in 0.0542 seconds