and template editors for Eclipse. Web application
domain purpose such as WebDSL generator (Hemel
et al., 2010) and WebRatio (Brambilla et al., 2010).
WebDSL is a DSL for web-applications with rich
data models. WebDSL provides sub languages for
the specification of data models, for the definition of
custom pages, and for the manipulation of data. We-
bRatio is a an eclipse-based case tool for engineering
web applications. It uses the WebML modeling lan-
guage for designing Web sites. This kind of tools use
several models to represent system specification, such
as, architecture, behavior and data model. Instead,
SWB uses only an ontology to represent those mod-
els. Moreover, by using ontologies SWB provides
the mechanism to expose system data in the Semantic
Web.
Other works are those related with the use
of ontologies for code generation, such as:
ODASE (Uschold, 2008), an ontology-driven
architecture which permits to represent into an
ontology the business knowledge needed to build an
IT application. ODASE is a general purpose plat-
form, instead SWB has a specialized set of reusable
components for the Web applications domain,
therefore, in this domain, SWB can be more usable.
RDFReactor (V
¨
olkel and Sure, 2005) automatically
generates Java classes from OWL ontologies through
an intermediate model.This intermediate model must
be updated as RDF specifications evolve and the Java
generated classes must be extended manually in order
to keep all changes made during the development
process. SWB automatically supports the evolution
of models by the modification of the SWB ontol-
ogy.Jastor (Kalyanpur et al., 2004) generates Java
code from OWL ontologies using Java Beans. OWL
classes are mapped into Java interfaces to solve the
problems of multiple inheritance. Manual extensions
need to be addressed for each generated Java interface
to achieve the system implementation. With SWB,
Java Class extensions are defined automatically.
7 CONCLUSIONS
We have presented an Ontology-Driven Development
Framework called SemanticWebBuilder (SWB). The
starting point of the development process is the onto-
logical representation of a problem domain by extend-
ing the base structure of our proposed ontology SWB
ontology. As output, SWB automatically generates
the infrastructure of the domain system which man-
ages the persistence of system and business informa-
tion as RDF triples. The semi-automatic development
process through SWB has been described, so that, a
resultant system could be easily extended, being able
to build complex systems. SWB is specialized in the
Web application domain. Therefore, the SWB ontol-
ogy has been supplemented with Web applications re-
quirements. Additionally, specific components have
been integrated to the SWB Framework to manage
Web applications needs. Through the use of ontolo-
gies SWB provides the following advantages: flexi-
ble and agile mechanisms to adapt to new business
needs, reducing code maintenance issues and increas-
ing reuse of code; increased reliability since human
errors are reduced; reasoners can run over ontologies
and data to make proof of assertions about business
information; and finally, Semantic Web mechanisms
can be applied to expose business information in the
Semantic Web and to exploit data through paradigms
such as Linked Data.
SWB has been successfully applied in the
development of several Web applications ac-
tually used by government dependencies in
Mexico. For instance, Visit Mexico - http://
www.visitmexico.com/, Secretary of labor and social
welfare - http://www.stps.gob.mx, and Secretary of
public education - http://www.sep.gob.mx/.
REFERENCES
Bohlen, M. et al. (2012). AndroMDA. http://
www.andromda.org/.
Borst, W. N. (1997). Construction of Engineering Ontolo-
gies for Knowledge Sharing and Reuse. PhD thesis,
Enschede.
Brambilla, M., Butti, S., and Fraternali, P. (2010). Webra-
tio bpm: A tool for designing and deploying business
processes on the web. In Web Engineering, volume
6189, pages 415–429.
Gruber, T. R. (1993). Toward principles for the design
of ontologies used for knowledge sharing. In Inter-
national Journal of Human-Computer Studies, vol-
ume 43, pages 907–928.
Happel, H.-J. and Seedorf, S. (2006). Applications of
ontologies in software engineering. In SWESE’06,
Athens, USA.
Hemel, Z., Kats, L. C. L., Groenewegen, D. M., and Visser,
E. (2010). Code generation by model transformation:
a case study in transformation modularity. Software
and System Modeling, 9(3):375–402.
Kalyanpur, A., Pastor, D. J., Battle, S., and Padget, J. A.
(2004). Automatic mapping of owl ontologies into
java. In SEKE’04, pages 98–103.
Musset, J. et al. (2012). Acceleo. http://www.acceleo.org/.
Studer, R., Benjamins, R., and Fensel, D. (1998). Knowl-
edge engineering: principles and methods. Data and
knowledge engineering, 25:161–197.
Uschold, M. (2008). Ontology-driven information systems:
Past, present and future. In FOIS’08, pages 3–18.
V
¨
olkel, M. and Sure, Y. (2005). Rdfreactor - from ontolo-
gies to programmatic data access. In ISWC’05.
MODELSWARD2013-InternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
246