Spelling suggestions: "subject:"separation off concerns"" "subject:"separation oof concerns""
1 |
Reification of network resource control in multi-agent systemsLiu, Chen 31 August 2006
In multi-agent systems [1], coordinated resource sharing is indispensable for a set of autonomous agents, which are running in the same execution space, to accomplish their computational objectives. This research presents a new approach to network resource control in multi-agent systems, based on the CyberOrgs [2] model. This approach aims to offer a mechanism to reify network resource control in multi-agent systems and to realize this mechanism in a prototype system. <p>In order to achieve these objectives, a uniform abstraction vLink (Virtual Link) is introduced to represent network resource, and based on this abstraction, a coherent mechanism of vLink creation, allocation and consumption is developed. This mechanism is enforced in the network by applying a fine-grained flow-based scheduling scheme. In addition, concerns of computations are separated from those of resources required to complete them, which simplifies engineering of network resource control. Thus, application programmers are enabled to focus on their application development and separately declaring resource request and defining resource control policies for their applications in a simplified way. Furthermore, network resource is bounded to computations and controlled in a hierarchy to coordinate network resource usage. A computation and its sub-computations are not allowed to consume resources beyond their resource boundary. However, resources can be traded between different boundaries. <p> In this thesis, the design and implementation of a prototype system is described as well. The prototype system is a middleware system architecture, which can be used to build systems supporting network resource control. This architecture has a layered structure and aims to achieve three goals: (1) providing an interface for programmers to express resource requests for applications and define their resource control policies; (2) specializing the CyberOrgs model to control network resource; and (3) providing carefully designed mechanisms for routing, link sharing and packet scheduling to enforce required resource allocation in the network.
|
2 |
Reification of network resource control in multi-agent systemsLiu, Chen 31 August 2006 (has links)
In multi-agent systems [1], coordinated resource sharing is indispensable for a set of autonomous agents, which are running in the same execution space, to accomplish their computational objectives. This research presents a new approach to network resource control in multi-agent systems, based on the CyberOrgs [2] model. This approach aims to offer a mechanism to reify network resource control in multi-agent systems and to realize this mechanism in a prototype system. <p>In order to achieve these objectives, a uniform abstraction vLink (Virtual Link) is introduced to represent network resource, and based on this abstraction, a coherent mechanism of vLink creation, allocation and consumption is developed. This mechanism is enforced in the network by applying a fine-grained flow-based scheduling scheme. In addition, concerns of computations are separated from those of resources required to complete them, which simplifies engineering of network resource control. Thus, application programmers are enabled to focus on their application development and separately declaring resource request and defining resource control policies for their applications in a simplified way. Furthermore, network resource is bounded to computations and controlled in a hierarchy to coordinate network resource usage. A computation and its sub-computations are not allowed to consume resources beyond their resource boundary. However, resources can be traded between different boundaries. <p> In this thesis, the design and implementation of a prototype system is described as well. The prototype system is a middleware system architecture, which can be used to build systems supporting network resource control. This architecture has a layered structure and aims to achieve three goals: (1) providing an interface for programmers to express resource requests for applications and define their resource control policies; (2) specializing the CyberOrgs model to control network resource; and (3) providing carefully designed mechanisms for routing, link sharing and packet scheduling to enforce required resource allocation in the network.
|
3 |
Foundation of Aspect Oriented Business Process ManagementJalali, Amin January 2012 (has links)
Reducing the complexity in information systems is a main concern on which researchers work. Separation of concerns, also known as the principle of ‘divide and conquer’, has long time been a strategy for dealing with complexity. Two examples of the application of this principle in the area of information system design are the break out the data management into Database Management Systems(DBMSs) and the separation of the business logic from the application logic into Business Process Management Systems (BPMSs). However, separation of cross-cutting concerns from the core-concern of a business process is not yet supported in the Business Process Management (BPM) area. Aspect Oriented principle recommends such a separation. When looking into the business process, several concerns, such as security and privacy, can be identified. Therefore, a formal model that provides a foundation for enabling BPMSs to support separation of concerns in BPM area is needed. This thesis provides a formal model for dealing with separation of concerns in the BPM area. Implementing this model in BPMSs would facilitate the design and implementation of business processes with a lower level of complexity, which in turn would reduce the costs associated with BPM projects. The thesis starts with a literature review on aspect orientation both in programming and in the BPM areas. Based on this study, a list of requirements for an Aspect Oriented Service for BPMSs is compiled. Then a formal model for such a service, fulfilling a set of these requirements, is designed using Coloured Petri Nets and implemented in CPN Tools. The model is evaluated through the execution of a number of scenarios. The solution is also validated through an industrial case study. The results of the case study are presented the direction for future work outlined. The case study demonstrates that separation of concerns through aspect orientation does indeed reduce the complexity of business process models.
|
4 |
Deriving refactorings for aspectJCole Neto, Leonardo January 2005 (has links)
Made available in DSpace on 2014-06-12T16:00:59Z (GMT). No. of bitstreams: 2
arquivo7122_1.pdf: 1649883 bytes, checksum: 5e4109867fef651c2cd98d144b166e55 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2005 / Refactoring tem sido muito útil na reestruturação de programas orientados a objetos. Esta técnica pode proporcionar benefícios similares aos programas orientados a aspectos. Sendo assim, refactoring pode ser uma técnica interessante para introduzir aspectos em uma aplicação existente, orientada a objetos. No intuito de explorar os benefícios proporcionados pelos refactorings, desenvolvedores de aplicações orientadas a aspectos estão identificando transformações comuns para tais aplicações, em sua maioria, para a linguagem AspectJ, uma linguagem orientada a aspectos de propósito geral que estende Java. No entanto, estas transformações não possuem suporte para garantir que preservam o comportamento externo da aplicação. Tal propriedade garante que as transformações são de fato refactorings. Este trabalho foca neste problema e introduz leis de programação para AspectJ que podem ser usadas para derivar transformações que preservam comportamento (refactorings) para um subconjunto desta linguagem. Leis de programação definem equivalência entre dois programas, desde que algumas restrições sejam respeitadas. Nosso conjunto de leis não somente define como introduzir ou remover construções de AspectJ, como também como reestruturar aplicações nesta linguagem. Aplicando e compondo as leis, pode-se mostrar que uma transformação AspectJ é de fato um refactoring. Leis são apropriadas para isso pois são bem mais simples do que a maioria dos refactorings. Comparando com refactorings, as leis envolvem transformações localizadas e somente uma construção da linguagem por vez, além de seram bi-direcionais. As leis formam uma base para a definição de refactorings com uma certa confiança de que estes preservam comportamento. Nós avaliamos as leis de duas formas. A primeira utiliza as leis para derivar refactorings já existentes na literatura. Isto ajuda a definir com mais precisão as precondições associadas a estes refactorings, alem de verificar se eles preservam comportamento. A segunda forma de avaliação utiliza as leis e alguns refactorings derivados destas para reestruturar duas aplicações Java. A implementação de comportamento transversal nestas aplicações é reestruturada utilizando construções de AspectJ para tornar tal comportamento modular. Isto ilustra que as leis podem também ser úteis para transformar aplicações orientadas a objetos em aplicações orientadas a aspectos
|
5 |
An Empirical Study of CSS Code Smells in Web FrameworksBleisch, Tobias Paul 01 March 2018 (has links)
Cascading Style Sheets (CSS) has become essential to front-end web development for the specification of style. But despite its simple syntax and the theoretical advantages attained through the separation of style from content and behavior, CSS authoring today is regarded as a complex task. As a result, developers are increasingly turning to CSS preprocessor languages and web frameworks to aid in development. However, previous studies show that even highly popular websites which are known to be developed with web frameworks contain CSS code smells such as duplicated rules and hard-coded values. Such code smells have the potential to cause adverse effects on websites and complicate maintenance. It is therefore important to investigate whether web frameworks may be encouraging the introduction of CSS code smells into websites.
In this thesis, we investigate the prevalence of CSS code smells in websites built with different web frameworks and attempt to recognize a pattern of CSS behavior in these frameworks. We collect a dataset of several hundred websites produced by each of 19 different frameworks, collect code smells and other metrics present in the CSS code of each website, train a classifier to predict which framework the website was built with, and perform various clustering tasks to gain insight into the correlations between code smells. Our results show that CSS code smells are highly prevalent in websites built with web frameworks, we achieve an accuracy of 39% in correctly classifying the frameworks based on CSS code smells and metrics, and we find interesting correlations between code smells.
|
6 |
A Formalization of an Extended Object Model Using ViewsNova, Luis January 2000 (has links)
Reuse of software designs, experience and components is essential to making substantial improvements in software productivity, development cost, and quality. However, the many facets of reuse are still rarely used in the various phases of the software development lifecycle because of a lack of adequate theories, processes, and tools to support consistent application of reuse concepts. There is a need for approaches including definitions, models and properties of reuse that would provide explicit guidance to a software development team in applying reuse. In particular there is a need to provide abstractions that clearly separate the various functional concerns addressed in a software system. Separating concerns simplifies the identification of the software components that can benefit from reuse and can provide guidance on how reuse may be applied. In this thesis we present an extended model related to the separation of concerns in object-oriented design. The model, called views, indicates how an object-oriented design can be clearly separated into objects and their corresponding interfaces. In this model objects can be designed so that they are independent of their environment, because adaptation to the environment is the responsibility of the interface or view. The view can be seen as expressing the semantics for the 'glue' that joins components or objects together to create a software system. Informal versions of the views model have already been successfully applied to operational and commercial software systems. The objective of this thesis is to provide the views notion with a theoretical foundation to address reuse and separation of concerns. After clearly defining the views model we show the formal approach to combining the objects, interfaces (views), and their interconnection into a complete software system. The objects and interfaces are defined using an object calculus based on temporal logic, while the interconnections among object and views are specified using category theory. This formal framework provides the mathematical foundation to support the verification of the properties of both the components and the composite software system. We then show how verification can be mechanized by converting the formal version of the views model into higher-order logic and using PVS to support mechanical proofs.
|
7 |
A Views-Based Design Framework for Web ApplicationsBrown, David January 2002 (has links)
Web application design is a broad term that refers to any aspect of designing a Web application, including designing Web interfaces to data. There are a number of commercial software tools available that employ various techniques for implementing Web access to databases. However, these techniques apply only to portions of Web application implementation and lack a common design paradigm. We believe that defining an approach to designing and implementing Web applications based on views, frameworks, and patterns allows us to extend an object-oriented design representation and develop reusable and extensible design solutions for a class of Web applications in which the concerns are separated. The major contribution of this thesis is the development of a new approach to designing Web applications, producing the following visible contributions: a model for Web applications based upon a separation of concerns using views; a framework for system elements so that object-oriented design patterns can be used to build the application; a reusable design approach so that many Web applications can be built around the same framework; a coherent and organized framework representation using extended UML; and an implementation approach that can be implemented on a number of different platforms using a range of software and tools. In support of this solution, this thesis shows the design and implementation of a proof-of-concept Web application using this design technique. We believe that the approach to Web application design promoted in this thesis has proven itself useful in a practical way for the case studies discussed herein and points the way to a wider range of design and implementation possibilities.
|
8 |
A Views-Based Design Framework for Web ApplicationsBrown, David January 2002 (has links)
Web application design is a broad term that refers to any aspect of designing a Web application, including designing Web interfaces to data. There are a number of commercial software tools available that employ various techniques for implementing Web access to databases. However, these techniques apply only to portions of Web application implementation and lack a common design paradigm. We believe that defining an approach to designing and implementing Web applications based on views, frameworks, and patterns allows us to extend an object-oriented design representation and develop reusable and extensible design solutions for a class of Web applications in which the concerns are separated. The major contribution of this thesis is the development of a new approach to designing Web applications, producing the following visible contributions: a model for Web applications based upon a separation of concerns using views; a framework for system elements so that object-oriented design patterns can be used to build the application; a reusable design approach so that many Web applications can be built around the same framework; a coherent and organized framework representation using extended UML; and an implementation approach that can be implemented on a number of different platforms using a range of software and tools. In support of this solution, this thesis shows the design and implementation of a proof-of-concept Web application using this design technique. We believe that the approach to Web application design promoted in this thesis has proven itself useful in a practical way for the case studies discussed herein and points the way to a wider range of design and implementation possibilities.
|
9 |
A Formalization of an Extended Object Model Using ViewsNova, Luis January 2000 (has links)
Reuse of software designs, experience and components is essential to making substantial improvements in software productivity, development cost, and quality. However, the many facets of reuse are still rarely used in the various phases of the software development lifecycle because of a lack of adequate theories, processes, and tools to support consistent application of reuse concepts. There is a need for approaches including definitions, models and properties of reuse that would provide explicit guidance to a software development team in applying reuse. In particular there is a need to provide abstractions that clearly separate the various functional concerns addressed in a software system. Separating concerns simplifies the identification of the software components that can benefit from reuse and can provide guidance on how reuse may be applied. In this thesis we present an extended model related to the separation of concerns in object-oriented design. The model, called views, indicates how an object-oriented design can be clearly separated into objects and their corresponding interfaces. In this model objects can be designed so that they are independent of their environment, because adaptation to the environment is the responsibility of the interface or view. The view can be seen as expressing the semantics for the 'glue' that joins components or objects together to create a software system. Informal versions of the views model have already been successfully applied to operational and commercial software systems. The objective of this thesis is to provide the views notion with a theoretical foundation to address reuse and separation of concerns. After clearly defining the views model we show the formal approach to combining the objects, interfaces (views), and their interconnection into a complete software system. The objects and interfaces are defined using an object calculus based on temporal logic, while the interconnections among object and views are specified using category theory. This formal framework provides the mathematical foundation to support the verification of the properties of both the components and the composite software system. We then show how verification can be mechanized by converting the formal version of the views model into higher-order logic and using PVS to support mechanical proofs.
|
10 |
Unifying abstractions and code with concern mapsCooney, Patrick January 2006 (has links)
People trying to understand, develop and maintain software have faced greater challenges as the complexity of software systems has increased. These challenges include the difficulty of cleanly separating different intertwined parts of a system, or relating parts of the system spread across many modules. This makes it difficult to neatly identify an area of interest, which in turn makes it difficult to understand or edit that area. The ability to separate these areas of interest, called concerns, into their own modules has been shown to improve the situation. Several approaches have been developed to enable this separation: aspect-oriented programming allows program code to be divided into smaller modules that better match areas of interest; reverse engineering tools help programmers extract information from an existing system; requirements traceability tools track individual requirements through the development process. This thesis describes a technique that works in a wide variety of circumstances. This technique allows users to create simple diagrams that describe the concern and then annotate this diagram with query expressions which link the diagram to related development artefacts like source code or documents. This research has used the tool in a set of common scenarios and compared the results to those achieved using other approaches.
|
Page generated in 0.109 seconds