Software processes are software too
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Managing the software process
Communications of the ACM - Special issue on analysis and modeling in software development
MERLIN: supporting cooperation in software development through a knowledge-based environment
Software process modelling and technology
APPL/A: a language for software process programming
ACM Transactions on Software Engineering and Methodology (TOSEM)
A paradigm for decentralized process modeling and its realization in the Oz environment
ICSE '94 Proceedings of the 16th international conference on Software engineering
ISPW '90 Proceedings of the 5th international software process workshop on Experience with software process models
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Proceedings of the Conference on The Future of Software Engineering
Software engineering tools and environments: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Obvious or not?: regulating architectural decisions using aspect-oriented programming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Process-Centered Software Engineering Environments, A Brief History and Future Challenges
Annals of Software Engineering
Provence: A Process Visualisation and Enactment Environment
ESEC '93 Proceedings of the 4th European Software Engineering Conference on Software Engineering
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
The Architecture of SPADE-1-Process-Centered SEE
EWSPT '94 Proceedings of the Third European Workshop on Software Process Technology
The Rational Unified Process: An Introduction
The Rational Unified Process: An Introduction
Extreme Software Engineering A Hands-On Approach
Extreme Software Engineering A Hands-On Approach
AJEER: an aspectJ-enabled eclipse runtime
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Modular Software Design with Crosscutting Interfaces
IEEE Software
Towards IDE support for abstract thinking
Proceedings of the 2nd international workshop on The role of abstraction in software engineering
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Proceedings of the 8th workshop on Aspects, components, and patterns for infrastructure software
Process Aspect: Handling Crosscutting Concerns during Software Process Improvement
ICSP '09 Proceedings of the International Conference on Software Process: Trustworthy Software Development Processes
Making aspects natural: events and composition
Proceedings of the tenth international conference on Aspect-oriented software development
Hi-index | 0.00 |
Usually, aspects enhance a software product by being composed - or woven - into it. Here, on the other hand, we use aspects to support the software development process itself. The underlying system, i.e., the system to which the aspects are woven, is not the software product but the environment where it is developed. We define aspects to support both software process management and software process modeling. As we show, the aspects can monitor, enforce, or even partially implement compliance with desired development practices. They also provide a basis for a precise description of a software development process. As a case-study, we consider Extreme Programming (XP) and the Eclipse platform. XP is a software development methodology described by underlying values, principles and practices. We present examples of AspectJ aspects that support XP guidelines such as "compose tests before coding" or "provide rapid feedback". Their abstract definitions are shown to be platform independent and correspond to the XP ontology. Their concrete implementation and weaving is connected to Eclipse, an open-source development environment. The design and a prototype implementation of aspects for XP over Eclipse is described.