too, along with the rest similarity factors.
5 CONCLUSIONS
This paper addressed the issue of automatically
matching specifications between components. A
new component reusability framework was briefly
introduced with a focus on the activities for
matching required and offered properties. The
matching process starts with the production of a
special form of natural-language-based profile
written in EBNF. The profile describes functional
and non-functional aspects of components, as well
as general reusability properties. A dedicated parser
walks through the profile, recognizes certain
sections and elements, and then translates them into
instances of a special form of component-based
ontology developed to support the component
specification matching activities. A reuser uses the
profile to describe what he or she looks for in a
component using the EBNF notation, the latter being
highly descriptive, while it allows to formally prove
key properties and validate the semantics. Available
components need also to be described by their
developers/vendors under the same profiling details.
The transformation of the profiles to ontology trees
enables comparison at the level of instances which is
used to assess if hard constraints are violated (i.e.,
absolutely necessary properties required are not
offered by candidates) and if not, to calculate a
dissimilarity metric that dictates the level of
appropriateness of components for possible
integration. Preliminary experimental results
suggested that the proposed approach is accurate and
suitable for adoption in the everyday practice of
software reuse.
This work described a new idea with ample room
for extensions and enhancements. Therefore, future
work will include several research steps, some of
which are outlined here: First of all, a more thorough
experimentation will be carried out to validate the
applicability and efficacy of the proposed
framework. To this end, a series of experiments will
be conducted utilizing open source components.
Second, the retrieval parts will be enhanced by
optimization techniques (e.g., evolutionary
algorithms) for automating the process of locating
candidate components. Third, the suggestions made
during the experimentation phase will be
incorporated in the approach, such as the
prioritisation of the properties, which will guide the
assessment of suitable components. Fourth, several
aspects of the proposed approach will be
parameterized so as to enable use customization and
adaptation (e.g., weighting scheme of the matching
algorithm). Last but not least, the dedicated software
tool that supports the whole framework will be
extended with capabilities for EBNF editing and
ANTLR parsing during the construction of
component profiles, as well as, graphical
representation and visual inspection/comparison of
ontology tree instances.
ACKNOWLEDGEMENTS
The work is partially supported by a research grant
for the ORION project (reference number
20140218) from The Knowledge Foundation in
Sweden.
REFERENCES
Alnusair, A., Zhao, T., 2010. Component search and
reuse: An ontology-based approach. In Proceedings of
the IEEE International Conference on Information
Reuse and Integration (Las Vegas, USA, August 4-6,
2010). IRI2010, 258-261.
Czajkowski, K., Foster, I., Kesselman, C., Sander, V.,
Tuecke, S., 2002. SNAP: A protocol for negotiating
service level agreements and coordinating resource
management in distributed systems. In Job scheduling
strategies for parallel processing, 153-183, Springer
Berlin Heidelberg.
Chung, L., Cooper, K., 2004. Matching, ranking, and
selecting components: a COTS-aware requirements
engineering and software architecting approach. In
Proceedings of the International Workshop on Models
and Processes for the Evaluation of COTS
Components at 26th International Conference on
Software Engineering, (Edinburgh, Scotland, UK, May
23-28, 2004). ICSE, 41-44.
Iribarne, L., Troya, J.M., Vallecillo, A., 2002. Selecting
software components with multiple interfaces. In
Proceedings of the 28th Euromicro Conference
(Dortmund, Germany, September 4-6, 2002).
EUROMICRO’02, 26-32. IEEE Computer
Society Press.
Kluge, R., Hering, T., Belter, R., Franczyk, B., 2008. An
approach for matching functional business
requirements to standard application software
packages via ontology. In Proceedings of the 32nd
Annual IEEE International Computer Software and
Applications Conference (Turku, Finland, July 28 -
August 1, 2008). COMPSAC '08, 1017-1022. DOI=
10.1109/COMPSAC.2008.147.
Mili, H., Mili, A., Yacoub, S., Addy, E., 2002. Reuse
based software engineering: techniques, organization,
and measurement. Wiley-Blackwell.
AutomaticMatchingofSoftwareComponentRequirementsusingSemi-formalSpecificationsandaCBSEOntology
127