Obvious or not?: regulating architectural decisions using aspect-oriented programming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Defining and continuous checking of structural program dependencies
Proceedings of the 30th international conference on Software engineering
Hi-index | 0.00 |
There is an emerging consensus that an explicit architectural model would be invaluable for large evolving software systems, providing them with a framework within which such a system can be reasoned about and maintained. But the great promise of architectural models has not been fulfilled so far, due to a gap between the model and the system it purports to describe. It is our contention that this gap is best bridged if the model is not just stated, but is enforced.This gives rise to a concept enforced architectural model|or, a law| which is explored in this paper. We argue that this model has two major bene_cial consequences: First, by bridging the above mentioned gap between an architectural model and the actual system, an enforced architectural model provides a truly reliable framework within which a system can be reasoned about and maintained. Second, our model provides software developers with a carefully circumscribed exibility in molding the law of a project, during its evolutionary lifetime|while maintaining certain architectural principles as invariant of evolution.