Designing Domain Architectures for Model-Driven Engineering - Lucredio, Daniel; Fortes, Renata P. M.; Almeida, Eduardo S.; Meira, Silvio L. (Anais do Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS); 2010: Anais do IV Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software, 2010)
Model-Driven Engineering (MDE) can leverage domain engineering by offering support to complex variability and automatic implementation. However, little attention is given to the process of designing a domain architecture that is well suited to MDE techniques such as domain-specific languages and software transformations. A domain-specific software architecture is normally developed based on a few selected and important requirements, called architectural drivers. This paper presents three types of architectural drivers that can be used to build a software architecture that can take full advantage of the benefits of MDE. It also presents some patterns that can be used to help in the architectural design. An evaluation is also presented, showing that, when used together in a model-driven domain engineering project, these drivers and patterns can lead to some benefits in terms of reusability and complexity, but that in some cases there are drawbacks that need to be considered in a trade-off analysis.