Font Size: a A A

Research On Aspect-Oriented Software Development Method And Implementation Technology

Posted on:2008-01-22Degree:DoctorType:Dissertation
Country:ChinaCandidate:M ZhangFull Text:PDF
GTID:1118360242464749Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the increment of the scalability and complexity of the software system, the interactions between various components of the system have become more and more complicated. The interactions mentioned above will limit reusability, adaptability of software and make it hard to validate the logical correctness of the system. Traditional ways to develop software can't fundamentally resolve the code tangling and scattering problems caused by the high complexity of the system. Towards these problems, the AOP programming (Aspect-Oriented Programming) is proposed and it becomes a novel research field of software engineering after OOP programming (Object-Oriented Programming).Based on the deep analysis of AOP techniques, several subjects for AOP are discussed and an aspect-oriented programming framework is proposed in this thesis. Towards the weaving proceeding, the effectiveness and equivalence of AOP technology are considered and the system coupling estimation of the different software development models are compared.Coupling is a standard to evaluate the maintainability, scalability and reusability of a software system. Aspect-Oriented (AO) system is the extension of the Object-Oriented Programming (OOP) system. A measure suite for assessing the coupling of AO systems is proposed in the thesis which is based on the measure suite for assessing the coupling of OOP systems and the coupling degrees of software developed in different programming models are compared. Firstly, the formal description of AO system is given which defines the dependencies between aspects and various classes in the system. Then the coupling assessing framework for AO systems is proposed, various coupling measures are given and the mathematical properties of these measures especially the effect of dependencies between aspects and classes on coupling of AO system are discussed. Finally, the validation and correctness of AOP technology in reducing the coupling of the system are pointed out. According to the lack of formal research on AOP, the validity and equivalence of AOP is formally proved on the model of PAL (Process ALgebraic) in this thesis. The formal model PAL is extended in AOP characteristics. In this method, the mathematics descriptions of process and synchronization are extracted and the existing rich literatures of well-studied notions in process algebra are adopted to study the equivalence of programs and correctness of weaving algorithms. And the equivalence and correctness of weaving algorithms are validated in the aspect of software engineering.In current AOP implementation technique, the OOP is implemented through building aspect library or building special aspect languages. In this thesis, an aspect-oriented programming framework (AOPF) based on components is proposed. The AOPF remains the language characteristics and provides the support for the aspect library. The AOPF provides the aspectual extension to C++ language called ADL (aspect definition language). ADL is applied to describe and implement the AOP elements including pointcut, join point and advice. AOP uses aspect to express the notion of crosscutting concerns. And by using weaving mechanism to weave the aspects into the software system, it achieves the modularization of the crosscutting concerns. AOPF provides two-level AOP programming: programming level and configuration level. In the programming level, new AOP programming elements can be defined and inserted into the codes, so the perfect flexibility of the framework is achieved. In the configuration level, the predefined aspect components can be called through modifying the configuration files, so the modularity and reusability of the codes may be improved.The primary research works of this paper are listed as follows.(1) Towards the characteristics of aspect, propose a measure suite for assessing the coupling of AO systems based on the measure suite for assessing the coupling of OOP systems.(2) The formal description and validity of AOP weaving proceeding is given based on the extension of formal model of PAL (Process Algebraic).(3) Propose an aspect-oriented programming framework (AOPF) based on component. AOPF not only remains the language characteristics but also provides the support for the aspect library in language level. Furthermore, the special extension of aspects can be added into the framework as a general component. No changes are needed to the C++ source code to make it extend with AOP functions through AOPF.(4) An aspect-oriented programming framework in Linux Redhat 8.0 is realized, by which the techniques proposed in the thesis are verified.
Keywords/Search Tags:Aspect-Oriented, Programming Framework, Servant/Exe-Flow Model, Formal Model PAL, System Coupling Estimation
PDF Full Text Request
Related items