and connectors manually.
The constraints should be defined and included
in the design phase of the DSL. This fact has the
drawback that any later change or addition of one of
these OCL rules implies the rebuilding of the DSL
editor.
These modeling tools are relatively young, they
are still under development and new versions are
released frequently, so often different versions are
incompatible with each other. The documentation is
rather basic and almost non-existent, often the best
source of information can be found in the web news.
It must also be highlighted the learning time needed
to efficiently work with these tools (3-4 months).
3 CONCLUSIONS
Aframework has been created following the MDE
approach which has allowed the development of a
number of tools (requirements and traceability
managers, DSLs, model transformations, and so on)
to support the full development of HA systems.
These resources have helped users to create HA
applications in a way much more easier and
productive.
The availability of tools to promote the creation
of DSLs(Kelly, 2009) is quite promising. DSLs
allow describing systems in an easy and intuitive
way, using concepts from the application domain.
The use of new Software Engineering techniques
into domains traditionally not subject of this study,
such as the HA domain, is very promising. Although
the MDE approach is not new, there are no
integrated proposals for the development of HA
systems that cover the entire process. None of them
takes into account the advantage of reusing the
infrastructure already provided by HA manufacturer.
It may be difficult and laborious to create a DSL
from scratch. Nevertheless, the benefits are greater
than liabilities in some domains. Creating a new
DSL (with tools to support it) can be worthwhile if
the language allows a particular type of problems to
be expressed more clearly than pre-existing
languages (such as UML) would do. In MDE the use
of domain-specific languages is the best option for
HA systems where the concepts themselves are well
defined. In this way, it allows developers with some
experience in HA to create descriptions of HA
systems using visual notations that can be
automatically transformed into executable code.
For the transformations, graph grammar
techniques are a good choice given the graphic
nature of both the transformations and the models.
But the need to work with an integrated tool within
Eclipse makes more interesting the use of hybrid
declarative/imperative languages.
Furthermore, both the reuse and traceability
capabilities provide our framework with the basic
characteristics desirable in any development,
improving quality and reducing the resulting
software development costs.
All the lessons learned from our experience can
be of interest in other domains. For example, since
the HA domain is a specific case of reactive
systems, these same lessons can be extrapolated to
those that attend the same technological conditions:
(1) the existence of a substrate for the definition of a
DSL, (2) the possibility of reusing models from a
software product-line perspective, and (3) the
availability of commercial tools for making easier
and higher code generation.
ACKNOWLEDGEMENTS
This work was partially supported by the Spanish
CICYT project EXPLORE (TIN2009-08572).
REFERENCES
Eclipse Foundation, 2007. Platform Plugin Developer
Guide, Platform Architectur. http://help.eclipse.org/
help33/index.jsp?topic=/org.eclipse.platform.doc.isv/g
uide/arch.htm.
Echelon Corporation, LONWORKS Engineering
Bulletins, 2009.
Sánchez, P. ,Jiménez, M., Rosique, F., Álvarez, B. and
Iborra, A., 2011.A framework for developing home
automation systems: From requirements to code.
Journal of Systems and Software.88 (6): 1008-1021.
Karlheinz, F., 2009.EIB/KNX: Grundlagen
Gebaudesystemtechnik. Edition MundArt, 4th ed.
Kelly, S. and Pohjonen, R., 2009.Worst Practices for
Domain-Specific Modeling. IEEE Software. 26(4):
223-29.
Krueger, C., 1992.Software reuse. ACM Computing
Surveys. 24(2): 131-183.
Lago, P., Muccini, H., Vliet, H., 2009. A scoped approach
to traceability management. Journal of Systems and
Software, 82(1), pages 168-182.
Mellor, S., Scoot, K., Uhl, A.and Weise, D., 2004. MDA
Distilled: Principles of Model-Driven
Arquitecture.Addison Wesley.
Miori, V., Tarrini, L., Manca, M. Tolomei, G., 2006. An
open standard solution for domoticinteroperability.
IEEE Transactions on Consumer Electronics. 20(50),
pages 19-25.
Selic, B., 2003. The Pragmatics of Model-Driven
Development, IEEE Software.20, pages 46–51.
Technica Pacifica, 2005. Easy X10 Projects for Creating a
Smart Home.
ICSOFT 2011 - 6th International Conference on Software and Data Technologies
268