作者:
Apel, SvenUniv Passau
Preistrager Software Engn Preises Ernst Denert St Passau Germany
Feature-orientedprogramming (FOP) and aspect-oriented programming (AOP) are complementary technologies. Though they aim at crosscutting modularity, they do so in different ways. We observed that FOP and AOP can be co...
详细信息
Feature-orientedprogramming (FOP) and aspect-oriented programming (AOP) are complementary technologies. Though they aim at crosscutting modularity, they do so in different ways. We observed that FOP and AOP can be combined to overcome their individual limitations. Consequently, we propose with aspectual Feature Modules (AFMs) and aspect Refinement (AR) two techniques to unify FOP and AOP. We use AFMs and AR in a non-trivial case study to create a product line of overlay networks. We also present a set of guidelines to assist programmers in using FOP and AOP techniques for implementing product lines in a stepwise and generative manner. Finally, we answer the question of how FOP and AOP-related implementation techniques are used today by analyzing a representative set of eight aspectJ programs of different sizes.
When building service oriented systems, it is often the case that existing web services do not perfectly match user requirements in target systems. To achieve smooth integration and high reusability of web services, m...
详细信息
When building service oriented systems, it is often the case that existing web services do not perfectly match user requirements in target systems. To achieve smooth integration and high reusability of web services, mechanisms to support automated evolution of web services are highly in demand. This paper advocates achieving the above evolution by applying a highly automated aspect-oriented adaptation approach to the underlying components of web services by generating and then applying the adaptation aspects under designed weaving process according to specific adaptation requirements. An expandable library of reusable adaptation aspects at multiple abstraction levels has been developed. A prototype tool is developed to scale up the approach.
The modularity of programming language descriptions allows the designer to describe each programming language feature in a separated module that can be studied independently of others. Action Semantics is a formal not...
详细信息
The modularity of programming language descriptions allows the designer to describe each programming language feature in a separated module that can be studied independently of others. Action Semantics is a formal notation that produce modular descriptions of programming languages. This paper proposes to use concepts of aspect-oriented programming to improve the modularity of action semantics descriptions. To achieve this goal, an aspect-oriented notation is proposed and applied to describe some programming language concepts.
Brody (1945) concluded that the inflection point of the growth curve of domestic animals coincides with the onset of puberty and is coupled with an increase in proportion of fat gain at that time. This purported coinc...
详细信息
Brody (1945) concluded that the inflection point of the growth curve of domestic animals coincides with the onset of puberty and is coupled with an increase in proportion of fat gain at that time. This purported coincidence of growth inflection and onset of puberty has been termed the 'Brody Law'. Recent findings suggesting a pivotal role of body energy reserves, communicated by the metabolic hormone leptin, on the onset of puberty led to the hypothesis that sheep must reach the inflection point of growth (AIP) considerably before the onset of puberty (AOP). In order to test this hypothesis, growth curves were fitted for ewe lambs on different growth trajectories from two experiments. Both experiments examined the effect of growth trajectory on AOP in ewe lambs. One data set was developed in France with Merino sheep;the other came from two distinct genetic lines of Targhee sheep in the USA. The French experiment subjected ewe lambs to two different feeding levels, while the USA experiment compared two nutritional regimens differing in both energy and protein concentration. Several non-linear models described in the literature as potentially useful for modelling weight-age relationships were fitted. The Logistic function was identified as the superior model for all datasets. All animals in both experiments reached AOP considerably before AOP. AOP was defined using two criteria threshold levels of progesterone as AOP1 >= 0.5 ng/ml and AOP2 >= 1 ng/ml progesterone. For the USA data, multivariate analysis of AIP, AOP1 and AOP2 demonstrated that nutritional treatment was highly significant;this was also the case for the multivariate analysis of Alp, degree of maturity at AOP1 (DOM1) and DOM2. The correlation between AIP and DOM was highly negative. In contrast, the feeding treatment in the French experiments had no effect on any of the response variables except estimated mature weight. However, AIP was negatively correlated with DOM1 and DOM2. AOP was highly positively c
The extension use case adds additional behavior to a base use case without changing it. We had no mainstream programming language supporting the implementation of extensions as we now get with aspect-oriented Programm...
详细信息
ISBN:
(纸本)9781424425105
The extension use case adds additional behavior to a base use case without changing it. We had no mainstream programming language supporting the implementation of extensions as we now get with aspect-oriented programming. aspect-oriented programming provides the ability, to modularize and weave the representation of crosscutting concerns. This paper focuses on the extension of UML for modeling and realizing the use case extension relationship which AOP addresses. An example of modeling and implementing extension use case with AOP is presented
In aspect-oriented programming (AOP), the join point selection depends heavily on the context exposed to aspects by means of special pointcut constructs. This context is either local to the join point (e.g. target of ...
详细信息
ISBN:
(纸本)9781595937537
In aspect-oriented programming (AOP), the join point selection depends heavily on the context exposed to aspects by means of special pointcut constructs. This context is either local to the join point (e.g. target of method calls) or non-local (e.g. call-stack). Path expression pointcut (PEP) is a special kind of pointcut that provides aspects with the access to non-local object information. In order to implement PEP, a well-defined unambiguous semantics for PEP is needed. This paper proposes a denotational semantics for PEP, which unambiguously describes the result of evaluating the PEP. Moreover, it helps to guide future developments of the PEP and its integration with AOP system.
Web services are the best way to solve cross-platform, cross-language, loosely coupled distributed systems in web environment at present. But because of some non-functional attributes such as authorization, security, ...
详细信息
ISBN:
(纸本)9780769535043
Web services are the best way to solve cross-platform, cross-language, loosely coupled distributed systems in web environment at present. But because of some non-functional attributes such as authorization, security, transaction, logging, etc. in web services, the adaptation and reuse of web services are decreased. It is difficult to maintain and extend SOA-based applications which are composed of them. In order to solve the above problems, aspect-oriented programming is introduced to web services in this paper, the non-junctional attributes are separated and realized as aspectual services and the web services and aspectual services are weaved at SOAP level to construct the final system when the application runs.
programming in a distributed environment using object-oriented technology is a complex activity. Programmers need to be aware of issues unrelated to their domain of problem, and are often unprepared for the challenges...
详细信息
ISBN:
(纸本)9781934272435
programming in a distributed environment using object-oriented technology is a complex activity. Programmers need to be aware of issues unrelated to their domain of problem, and are often unprepared for the challenges the object-orientedprogramming brings. The interaction of their components becomes more complex, and makes it difficult to validate the design and correctness of the system. Supporting separation of concerns in the design and implementation of the system can provide a number of benefits such as comprehension, reusability, extensibility and adaptability in both design and implementation. We have tackled this problem by adopting the technique of separation of concerns in object-orientedprogramming. In this paper we demonstrate an aspect-oriented technology that can be used for system software such as operating systems. We also show how the separation of system aspectual properties front components. Readers/Writers problem is demonstrated using our framework. Our framework, which is based on aspect-oriented technology as well as language and architecture independence, is a component based model.
After more than 10 years, aspect-oriented programming (AOP) is still a controversial idea. While the concept of aspects appeals to everyone's intuitions, concrete AOP solutions often fail to convince researchers a...
详细信息
ISBN:
(纸本)9781605582153
After more than 10 years, aspect-oriented programming (AOP) is still a controversial idea. While the concept of aspects appeals to everyone's intuitions, concrete AOP solutions often fail to convince researchers and practitioners alike. This discrepancy results in part from a lack of ail adequate theory of aspects, which in turn leads to the development of AOP solutions that are useful in limited situations. We propose a new theory of aspects that can be summarized as follows: concerns are latent topics that can be automatically extracted using statistical topic modeling techniques adapted to software. Software scattering and tangling can be measured precisely by the entropies of the underlying topic-over-files and files-over-topics distributions. aspects are latent topics with high scattering entropy. The theory is validated empirically on both the large scale, with a study of 4,632 Java projects, and the small scale, with a study of 5 individual projects. From these analyses, we identify two dozen topics that emerge as general-purpose aspects across multiple projects, as well as project-specific topics/concerns. The approach is also shown to produce results that are compatible with previous methods for identifying aspects, and also extends them. Our work provides not only a concrete approach for identifying aspects at several scales in an unsupervised manner but, more importantly, a formulation of AOP grounded in information theory. The understanding of aspects under this new perspective makes additional progress toward the design of models and tools that facilitate software development.
Some legacy programming languages, e.g., C, do not provide adequate support for exception handling. As a result, users of these legacy programming languages often implement exception handling by applying an idiom. An ...
详细信息
ISBN:
(纸本)9781424421572
Some legacy programming languages, e.g., C, do not provide adequate support for exception handling. As a result, users of these legacy programming languages often implement exception handling by applying an idiom. An idiomatic style of implementation has a number of drawbacks: applying idioms can be fault prone and requires significant effort. Modern programming languages provide support for Structured Exception Handling (SEH) that makes idioms largely obsolete. Additionally, aspect-oriented programming (AOP) is believed to further reduce the effort of implementing exception handling. This paper investigates the gains that can be achieved by reengineering the idiomatic exception handling of a legacy C component to these modem techniques. First, we will reengineer a C component such that its exception handling idioms are almost completely replaced by SEH constructs. Second, we will show that the use of AOP for exception handling can be beneficial, even though the benefits are limited by inconsistencies in the legacy implementation.
暂无评论