Mapping design patterns to cloud patterns to support application portability: a preliminary study

The use of Design Patterns in software engineering is well documented and supported, with new patterns descriptions being proposed and applied to software development even today. Cloud Patterns can be seen as an evolution of classic Design Patterns, since they provide optimal solutions for software development specialized for Cloud environments. By mapping Design and Cloud Patterns elements, we think it would be possible to develop an approach to support the porting of legacy applications to the Cloud, thus easing the modernization process and laying the basis for an interoperability and portability friendly software development. Here we analyse the actual feasibility of the mapping between Design and Cloud Patterns, by proposing a simple score-based methodology which analyses characteristics of both pattern categories to propose a solution to the matching problem. In order to compare different categories of patterns we leverage a semantic based representation, defined in previous works, which describes a set of common relevant characteristics related to patterns' scope and objectives.

[1]  Toufik Taibi Design Pattern Formalization Techniques , 2007 .

[2]  W. M. P. V. D. Aalsta,et al.  YAWL : yet another workflow language , 2015 .

[3]  Giuseppina Cretella,et al.  Semantic and Matchmaking Technologies for Discovering, Mapping and Aligning Cloud Providers's Services , 2013, IIWAS '13.

[4]  Rocco Aversa,et al.  Proceedings of the Federated Conference on Computer Science and Information Systems pp. 973–980 ISBN 978-83-60810-22-4 An Analysis of mOSAIC ontology for Cloud Resources annotation , 2022 .

[5]  Robert Ivor John,et al.  Towards machine learning based design pattern recognition , 2013, 2013 13th UK Workshop on Computational Intelligence (UKCI).

[6]  Frank Leymann,et al.  Cloud Computing Patterns , 2014, Springer Vienna.

[7]  Cecilia Zanni-Merk,et al.  Component Retrieval Based on Ontology and Graph Patterns Matching , 2010 .

[8]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[9]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2003, Distributed and Parallel Databases.

[10]  Francesca Arcelli Fontana,et al.  A tool for design pattern detection and software architecture reconstruction , 2011, Inf. Sci..

[11]  Beniamino Di Martino,et al.  Towards a Common Semantic Representation of Design and Cloud Patterns , 2013, IIWAS '13.

[12]  Beniamino Di Martino,et al.  Automatic Recognition of Design Patterns from UML-based Software Documentation , 2013, IIWAS '13.

[13]  Claus Pahl,et al.  An ontology for software component matching , 2003, International Journal on Software Tools for Technology Transfer.

[14]  Aldo Gangemi,et al.  Foundations for service ontologies: aligning OWL-S to dolce , 2004, WWW '04.

[15]  Giuseppina Cretella,et al.  Towards a Unified OWL Ontology of Cloud Vendors' Appliances and Services at PaaS and SaaS Level , 2014, 2014 Eighth International Conference on Complex, Intelligent and Software Intensive Systems.

[16]  Njeru Mwendi Edwin Software Frameworks, Architectural and Design Patterns , 2014 .

[17]  Ellen Agerbo,et al.  How to preserve the benefits of design patterns , 1998, OOPSLA '98.

[18]  Jerry R. Hobbs,et al.  DAML-S: Semantic Markup for Web Services , 2001, SWWS.

[19]  Gang Xue,et al.  Using OWL-S for Formalizing Workflow Patterns , .

[20]  Martin Schader,et al.  Towards an Enterprise Software Component Ontology , 2011, AMCIS.

[21]  Cloud patterns , 2002 .

[22]  Giuseppina Cretella,et al.  Semantic and Agnostic Representation of Cloud Patterns for Cloud Interoperability and Portability , 2013, 2013 IEEE 5th International Conference on Cloud Computing Technology and Science.

[23]  L. Stein,et al.  OWL Web Ontology Language - Reference , 2004 .

[24]  Mohsen Kahani,et al.  A Semantic Web based approach for design pattern detection from source code , 2012, 2012 2nd International eConference on Computer and Knowledge Engineering (ICCKE).

[25]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .