Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Quantifying the closeness between program components and features
Journal of Systems and Software - Special issue on software maintenance
Communications of the ACM
A UML-based aspect-oriented design notation for AspectJ
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Separation of coordination in a dynamic aspect oriented framework
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
Metrics and Models in Software Quality Engineering
Metrics and Models in Software Quality Engineering
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Summarization of dynamic content in web collections
PKDD '04 Proceedings of the 8th European Conference on Principles and Practice of Knowledge Discovery in Databases
IEEE Software
A Study of Design Characteristics in Evolving Software Using Stability as a Criterion
IEEE Transactions on Software Engineering
AO4BPEL: An Aspect-oriented Extension to BPEL
World Wide Web
Product Line Implementation using Aspect-Oriented and Model-Driven Software Development
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Dependency and interaction oriented complexity metrics of component-based systems
ACM SIGSOFT Software Engineering Notes
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
Do Crosscutting Concerns Cause Defects?
IEEE Transactions on Software Engineering
Aspect-oriented multi-view modeling
Proceedings of the 8th ACM international conference on Aspect-oriented software development
MoDELS'06 Proceedings of the 2006 international conference on Models in software engineering
Analysis of crosscutting in early software development phases based on traceability
Transactions on aspect-oriented software development III
Modular aspect-oriented design with XPIs
ACM Transactions on Software Engineering and Methodology (TOSEM)
Isolating process-level concerns using padus
BPM'06 Proceedings of the 4th international conference on Business Process Management
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Aspect-Oriented workflow languages
ODBASE'06/OTM'06 Proceedings of the 2006 Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, DOA, GADA, and ODBASE - Volume Part I
Joinpoint inference from behavioral specification to implementation
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Deriving detailed design models from an aspect-oriented ADL using MDD
Journal of Systems and Software
Hi-index | 0.00 |
Abstract: In the last few years, Model-Driven Development (MDD), Aspect-Oriented Software Development (AOSD), and Component-Based Software Development (CBSD) have become interesting alternatives for the design and construction of complex distributed applications. Although these methodological approaches share the principle of separation of concerns and their further integration as key factors to obtaining high-quality and evolvable large software systems, they usually each address this principle from their own particular perspective. In the present work, we combine Component-Based and Aspect-Oriented Software Developments in a Model Driven software process targeted at the development of complex systems. This process constitutes an enhancement of the separation of concerns by allowing the isolation of crosscutting concerns in both Platform Independent and Platform Specific models. Following a pure MDD philosophy, a set of model transformations are used to generate the system, from preliminary models to the final source code for the Corba Component Model platform. A twofold empirical analysis was used to evaluate the approach's benefits in terms of two internal quality attributes: modularity and complexity. Conclusions were drawn from this evaluation regarding other quality attributes correlated with these two - stability, changeability, error-proneness, and reusability. An Eclipse plug-in was developed to drive the development of the entire system from early modeling to late deployment stages.