Web approaches make models understandable by
both machines and humans, with the objective to
reuse software components.
2.1 The Goal-oriented Approaches
The existing goal-oriented approaches are intended
to formalize a problem by defining the steps and
components of software design in terms of goals. A
goal is by definition a target to reach, part of the
Requirement Engineering. The way the goal is
achieved is represented by a decomposition of the
goal into sub-goals, which “consists in identifying
goals and refining them into sub-goals until the latter
can be assigned as responsibilities of single agents
such as humans, devices and software” (Letier,
2001). According to (Lapouchnian, 2005), “The
main measure of the success of a software system is
the degree to which it meets its purpose. Therefore,
identifying this purpose must be one of the main
activities in the development of software systems”.
In KAOS (Knowledge Acquisition in autOmated
Specification or Keep All Objects Satisfied), users
are able to structure the goals: each goal, except the
roots, is justified by at least another goal that
explains why the goal was introduced in the model
and each goal, except the leaves, is decomposed in
sub-goals, describing how the decomposed goal can
be reached.
More recently, (Guzelian et al., 2004) describe
the modelling of information systems added to the
methods of object design, with problems “expressed
as goals to be reached and the information system is
the result of a process of meeting these goals”.
Moreover, they present their approach by defining
meta models including decompositions of goals into
refined sub-goals, formalized thanks to UML. A
model, allowing prioritizing and organizing
components with a set of decision trees and a system
of components reuse are proposed. However, neither
algebra nor high level language for goals assessment
is presented.
Finally, the goal-oriented approaches are used in
many fields of software engineering: Requirement
Engineering, business modeling, specification of
reusable components, definition of user models and
development of interactive systems as information
systems on the Web, agent systems, information
retrieval systems, etc (Guzelian et al., 2004).
2.2 The Semantic Web
The Semantic Web (SW or Web of Data) is an
extension of the existing Web, providing access to
computers to structured collections of information
and sets of inference rules that they can use to
achieve automated reasoning (Berners-Lee et al,
2001). For this, the Semantic Web is based among
others on representations of human knowledge based
on domain ontologies and semantic web services,
which are autonomous computing entities that
compute semantically indexed data.
According to (Castellani et al, 2011), Ontologies
offer significant benefits to collaborative service-
oriented systems, such as interoperability and
reusability. They are usually used as an index to
retrieve specific data (Garcia and Celma, 2005), to
infer new knowledge (W3C, 2012) (Berners-Lee et
al., 2001), to semantically annotate multimedia data
(Castano et al., 2007), to find out Web Services
automatically (Martin et al., 2007), or to match
knowledge with other knowledge for a more general
purpose (Cruz and Nicolle, 2011). Furthermore, the
Web Ontology Language (OWL) provides model
flexibility, explicit representation of semantics, out-
of-the-box reasoning and freely available
background knowledge (Castellani et al., 2011).
To manage knowledge, the Semantic Web
Services (SWS) are based on semantic description
frameworks for Web Services. The composition of
SWS is the automated processing of Web services
autonomously simple to complex automated
processes. Then, a "generic inference mechanism
shall be developed for handling SWS" (Charif and
Sabouret, 2006). Various technologies exist, such as
OWL-S (W3C, 2004), WSMO (W3C, 2005),
METEOR-S (Sheth et al., 2008), IRS-III (Domingue
et al., 2008), etc. The main drawbacks of these
approaches are that the user must be a computer
specialist, whereas the services composition
solutions are intended to help ordinary users in the
web, and some manual steps must be performed by
the user (Charif and Sabouret, 2006).
2.3 Combining the Approaches
Our goal is not only to analyze the requirements of a
system. Our platform has also to find the ad hoc
compositions of treatments solving both users’ and
computers' requirements, to formalize models,
algorithms and data to assist or automate their reuse,
to assess them, and consequently to be both
worldwide researchers and machine understandable.
In (Dantan et al., 2012), two kinds of virtual
properties have been defined, as an extension of
OWL (W3C, 2012): these virtual properties,
attached to core OWL ontology classes, may be
hierarchically organized goals that have to be
ENASE2013-8thInternationalConferenceonEvaluationofNovelSoftwareApproachestoSoftwareEngineering
174