erated and non-generated code. We can correspond
the former and the latter to design concerns and im-
plementation concerns, respectively. However, it is
not easy to change the separation of concerns be-
tween generated and non-generated code. Aldrich,
J. et al. proposed ArchJava (Aldrich et al., 2002)
that unifies architecture and implementation, ensur-
ing that the implementation conforms to architectural
constraints. ArchJava does not contain such an idea
that a UML model can be regarded as a module. We
think that it is important to improve MDD using ordi-
nary UML and programming languages because they
are familiar to many developers in industry. Steel, J. et
al. introduced model types (Steel and J
´
ez
´
equel, 2005)
that treat models as a collection of interconnected ob-
jects and deal with the relationships defined in MOF
(Meta-Object Facility). In our approach, design and
program modules implementing the same archpoints
belong to the same type.
This paper introduced iArch, an IDE for Archface-
Centric MDD. Although current iArch is a prototype,
it has the potential for exploring the next generation
MDD. Current MDD takes a transformation approach
such as QVT (Queries/Views/Transformations) or
ATL (ATLAS Transformation Language) to generate
code from a design model. On the other hand, our
approach is a type-based module integration to bridge
design and code preserving an abstraction level. As
a next step, we plan to enhance Archface to support
not only abstraction but also uncertainty. In most
software development, models tend to contain uncer-
tainty, because all of design concerns cannot be cap-
tured at the early phase. Uncertain concerns, which
crosscut over design models and code, can be speci-
fied by Archface based on AOP. MDD embracing un-
certainty is one of the important research topics.
ACKNOWLEDGEMENTS
This research is being conducted as a part of the
Grant-in-aid for Scientific Research (B) 23300010
and Challenging Exploratory Research 25540025 by
the Ministry of Education, Culture, Sports, Science
and Technology, Japan.
REFERENCES
Aldrich, J., Chambers, C., and Notkin, D. (2002). Archjava:
Connecting software architecture to implementation.
In Proceedings of the 24th International Conference
on Software Engineering (ICSE 2002), pp.187-197.
ACM.
Allen, R. and Garlan, D. (1994). Formalizing archi-
tectural connection. In Proceedings of the 16th
International Conference on Software Engineering
(ICSE’94), pp.71-80. IEEE.
Bass, L., Clements, P., and Kazman, R. (2003). Soft-
ware Architecture in Practice (2nd edition). Addison-
Wesley.
Cassou, D., Balland, E., Consel, C., and Lawall, J. (2011).
Leveraging software architectures to guide and ver-
ify the development of sense/compute/control appli-
cations. In Proceedings of the 33rd International
Conference on Software Engineering (ICSE 2011),
pp.431-440. ACM.
EMF (2013). http://www.eclipse.org/modeling/emf/.
Graphiti (2013). http://www.eclipse.org/graphiti/.
Kiczales, G., Hilsdale, E., and et al., J. H. (2001). An
overview of aspectj. In Proceedings of European Con-
ference on Object-Oriented Programming (ECOOP
2001), pp.327-353. Springer.
Kramer, J. (2007). Is abstraction the key to computing? In
Communications of the ACM, Vol. 50 Issue 4, pp.36-
42. ACM.
Magee, J. and Kramer, J. (2006). Concurrency: State Mod-
els and Java Programs. Wiley.
Milner, R. (1989). Communication and Concurrency. Pren-
tice Hall.
Steel, J. and J
´
ez
´
equel, J. M. (2005). Model typing for
improving reuse in model-driven engineering. In
Proceedings of the 8th International Conference on
Model Driven Engineering Languages and Systems
(MoDELS 2005), pp.84-96. Springer.
Tarr, P., Ossher, H., Harrison, W., and Sutton, S. M. J.
(1999). N degrees of separation: Multi-dimensional
separation of concerns. In Proceedings of the 21st
International Conference on Software Engineering
(ICSE’99), pp.107-119. ACM.
Taylor, R. N. and Hoek, A. (2007). Software design and ar-
chitecture –the once and future focus of software en-
gineering. In Proceedings of 2007 Future of Software
Engineering (FOSE 2007), pp.226-243. IEEE.
Ubayashi, N. and Kamei, Y. (2013). Design module: A
modularity vision beyond code —not only program
code but also a design model is a module—. In Pro-
ceedings of the 5th International Workshop on Mod-
elling in Software Engineering (MiSE 2013) (Work-
shop at ICSE 2013), pp.44-50. IEEE.
Ubayashi, N., Nomura, J., and Tamai, T. (2010). Arch-
face: A contract place where architectural design and
code meet together. In Proceedings of the 32nd Inter-
national Conference on Software Engineering (ICSE
2010), pp.75-84. ACM.
Xtext (2013). http://www.eclipse.org/xtext/.
Zheng, Y. and Taylor, R. N. (2012). Enhancing architecture-
implementation conformance with change manage-
ment and support for behavioral mapping. In Proceed-
ings of the 34th International Conference on Software
Engineering (ICSE 2012), pp.628-638. IEEE.
iArch-AnIDEforSupportingAbstraction-awareDesignTraceability
447