Using a Concept-based Approach to Aspect-Oriented Software Design
Dennis Wagelaar, Lodewijk Bergmans
Abstract
Open-access reader
Dennis Wagelaar, Lodewijk Bergmans
Abstract
Open-access reader
Aspect-oriented programming (AOP) has received considerable interest, in particular as an extension of object-oriented programming. However, current object-oriented software design techniques, such as UML, are not well suited to cope with aspect orientation. In this paper we discuss a design approach, called CoCompose, which supports aspect orientation and software evolution. The CoCompose design language adopts a generic concept construct for describing software systems. Design-level relationships between concepts can be expressed by applying the parameterised feature construct. Complete CoCompose models can be translated into executable programs using an automatic translation process.
OpenAlex reports 14 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Aspect-oriented programming (AOP) has received considerable interest, in particular as an extension of object-oriented programming. However, current object-oriented software design techniques, such as UML, are not well suited to cope with aspect orientation. In this paper we discuss a design approach, called CoCompose, which supports aspect orientation and software evolution. The CoCompose design language adopts a generic concept construct for describing software systems. Design-level relationships between concepts can be expressed by applying the parameterised feature construct. Complete CoCompose models can be translated into executable programs using an automatic translation process.
Key concepts: Computer science, Programming language, Aspect-oriented programming, Executable, Construct (python library), Software design, Object-oriented design, Software engineering