5 DISCUSSION AND OUTLOOK
The revised reference architecture incorporates in-
sights gained from the application of the original ar-
chitecture in three distinct generator implementations.
However, the focus on the MD
2
language still lim-
its the empirical validation of the approach. On the
one hand, the balance of component generalisation
and flexibility of implementation derived from the
evaluated generator implementations needs to be val-
idated. On the other hand, the described interac-
tion illustrations are also based on the currently avail-
able generator implementations. In retrospect, this in-
formation would have provided important guidance
for the understanding of the reference architecture.
Still, for both aspects empirical validation can only
be achieved by applying the refined reference archi-
tecture to another platform without prior knowledge
of the subject matter.
While the interaction patterns do not impose any
restrictions on the actual implementation, there might
also be platforms for which the basic event-action
loop is not well applicable. With additional commu-
nication emerging from cross-app workflow coordina-
tion, it should be considered to further specify the be-
haviour of the existing external interfaces as guidance
for generator developers. For instance, data exchange
formats on mobile platforms should be assessed to
provide further standardisation. Also, different com-
munication mechanisms such as asynchronous back-
end requests or servers pushing messages to apps may
be considered with regard to user experience improve-
ments. Incorporating such changes into the reference
architecture may result in changes to the interaction
mechanisms that were presented in this paper.
Finally, the derived best practices need to be reap-
plied to the generator implementations fostering a
maintainable code base following common architec-
tural design decisions. The revised reference architec-
ture already incorporates changes resulting from the
MD
2
language evolution as for instance the workflow
layer extension integrates nicely into the existing ar-
chitecture. Yet, it has to be shown whether the current
reference architecture is flexible enough to adapt to
future DSL language changes.
Despite some minor drawbacks, the evaluation
showed that reference architectures can serve as sup-
portive means for extending model-driven approaches
such as MD
2
. In addition, these limitations were
leveraged to assist in revisiting and applying these
newly gained insights as presented in Section 4.
6 CONCLUSION
In this paper, we have presented work on the re-
finement of a reference architecture for MD
2
. It
extends the model-driven cross-platform framework
with means to provide unified, maintainable, and scal-
able code generation. Thereby, it ultimately also con-
tributes to the framework’s ease-of-development.
Based on the study of related work and the first
suggestion by (Evers et al., 2016), we proposed steps
for the refinement. Despite some minor drawbacks,
the evaluation showed that reference architectures
can serve as supportive means for extending model-
driven approaches such as MD
2
. These limitations
were leveraged to assist in revisiting and applying the
newly gained insights. The actual work consists of de-
tailed suggestions for the structure of the reference ar-
chitecture, ways to address platform-specificity while
keeping an abstract interface, and suggested guide-
lines for component interactions.
There is a fine line between being too specific and
too general (or, rather, abstract) with regard to ref-
erence architectures. We are confident that we have
found a balanced approach with the proposals made
in this paper. However, the feasibility of our ideas
will need to be proven empirically – first qualitatively
and ultimately quantitatively. In the meantime, we
will keep up our work and also seek to contribute to
the core of the MD
2
framework including its domain-
specific language. Currently, an alternative, graphical
modelling front-end that utilises the revised reference
architecture and generators is being designed to assess
its accessibility to modellers; thus, making a case in
favour of reusable and maintainable generation facili-
ties. We hope that MD
2
will get more attention by in-
dustrial users in the future, probably even stimulating
work on complementary or competing approaches.
REFERENCES
Angelov, S., Grefen, P., and Greefhorst, D. (2009). A clas-
sification of software reference architectures: Analyz-
ing their success and effectiveness. In European Conf.
on Software Architecture (ECSA), pages 141–150. doi:
10.1109/WICSA.2009.5290800
applause (2015). https://github.com/applause/.
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P.,
and Stal, M. (1996). Pattern-Oriented Software Ar-
chitecture. Wiley.
Cloutier, R., Muller, G., Verma, D., Nilchiani, R., Hole,
E., and Bone, M. (2010). The concept of reference
architectures. Systems Engineering, 13(1):14–27.
Dagef
¨
orde, J. C., Reischmann, T., Majchrzak, T. A., and
Ernsting, J. (2016). Generating app product lines in
a model-driven cross-platform development approach.
Refining a Reference Architecture for Model-Driven Business Apps
315