=Paper= {{Paper |id=None |storemode=property |title=DC2AP Metadata Editor: A Metadata Editor for an Analysis Pattern Reuse Infrastructure |pdfUrl=https://ceur-ws.org/Vol-998/Paper18.pdf |volume=Vol-998 |dblpUrl=https://dblp.org/rec/conf/caise/PeixotoVF13 }} ==DC2AP Metadata Editor: A Metadata Editor for an Analysis Pattern Reuse Infrastructure== https://ceur-ws.org/Vol-998/Paper18.pdf
     DC2AP Metadata Editor: A Metadata Editor for an
         Analysis Pattern Reuse Infrastructure

     Douglas Alves Peixoto, Lucas Francisco da Matta Vegi, Jugurta Lisboa-Filho

                Departamento de Informática, Universidade Federal de Viçosa
                              Viçosa-MG, Brazil, 36570-000

    {douglasalves.ufv, lucasvegi}@gmail.com, jugurta@ufv.br



       Abstract. The software development process often encounters obstacles to re-
       use analysis patterns. Many designers do not have access to these computational
       artifacts by the difficulty in finding them, since the ways in which analysis pat-
       terns are documented are often precarious. The lack of both a computational
       tool which supports the analysis patterns documentation process and a digital
       repository to store these patterns affect their reuse. This paper presents the tool
       DC2AP Metadata Editor. This tool is a metadata editor for analysis patterns
       based on the Dublin Core Application Profile for Analysis Patterns (DC2AP).
       To support the patterns retrieval, the DC2AP Metadata Editor provides analysis
       patterns documented in RDF files, thus allowing the knowledge stored in these
       artifacts to be shared and automatically interpreted by software.

       Keywords: analysis pattern, reuse, Dublin Core, semantic web, linked data,
       cloud computing, software as a service, web service.


1      Introduction

   Analysis patterns are reusable computational artifacts aimed at the analysis stage of
the software development process. These artifacts support software designers during
the system domain analysis, reducing in this way the time spent on the software de-
sign and especially allowing interoperability between systems. Although the analysis
patterns provide gains in the software development process through knowledge reuse,
designers can still find difficulties in reuse them due to inefficiency in the way which
these patterns are documented. This complicates to search for these artifacts by com-
putational tools or even by search engines on the Internet.
   The analysis patterns documentation is an important task in order to enable soft-
ware designers to effectively share these artifacts. To date there is no template to doc-
ument patterns of analysis that is widely accepted, so each set of patterns is specified
according to its author’s preferences. Although this is a common practice, a consensus
on the use of a single documentation standard by the authors can facilitate the pro-
cesses of search, manipulation and dissemination of these patterns.
    Aiming to solve the problem of the lack of both standardization and detail in the
analysis patterns documentation, a specific metadata profile to document analysis
patterns, called DC2AP, was proposed [12].
    The following paper presents the tool DC2AP Metadata Editor. This tool allows
the creation and editing of metadata about analysis patterns by using the DC2AP pro-
file. The metadata documented with this tool can be exported to RDF format and con-
sequently became Linked Data that reduces barriers to reuse analysis patterns.
    The DC2AP Metadata Editor is a free software that is available on the Software as
a Service (SaaS) model. Thus, it can be accessed from any location via the Internet
regardless of technological details in your terminal access, requiring only a Web
browser and Internet access [15]. Some of the functionalities of this metadata editor
are also available via Web services, allowing other systems to make use of them.
    The remainder of this paper is organized as follows: Section 2 describes the related
works with documentation of analysis patterns; semantic Web and Linked Data; cloud
computing and Web services. The tool DC2AP Metadata Editor proposed in this pa-
per is presented in Section 3, while Section 4 presents conclusions and future works.


2      Related Work

2.1    Analysis Pattern Documentation

   Analysis patterns can be documented from the use of predefined models and
sketches. The absence of use of models in the analysis pattern documentation reduces
the usability of these patterns [4]. It happens due to a bigger difficulty in retrieving
knowledge in unstructured documentation. Some analysis patterns documented by
means of models can be found in [7]. A model for documenting analysis patterns is
presented in [8], which is composed of the topics: name, problem, context, motiva-
tion, solution, participants and related patterns. This model was applied by [7] to doc-
ument an analysis pattern focused on defining an urban streets mesh.
   This analysis pattern, originally documented in [7], will be presented later docu-
mented with DC2AP using the DC2AP Metadata Editor.


APRI – Analysis Patterns Reuse Infrastructure.

   The access to analysis patterns is still very deficient due to the format used for
documentation and availability of them [4]. These patterns are usually presented in
means of access not machine-processable, such as books and scientific papers, thus
hindering the retrieval of information from these reusable computational artifacts.
   In order to minimize these problems concerning the documentation and availability
of analysis patterns, thus increasing the possibilities for reuse of these artifacts, in [10]
was proposed the architecture of an Analysis Pattern Reuse Infrastructure (APRI). In
the following infrastructure, which is shown in Fig. 1, the analysis patterns are docu-
mented using metadata and can be retrieved by Web services.
   The DC2AP Metadata Editor presented here was designed and developed as a tool
of the Pattern Portal.




                Fig. 1. Analysis Patterns Reuse Infrastructure (APRI) [10]

       Pattern Portal: Contains a set of tools and services focused on discovery,
        obtaining, cataloging and reuse of analysis patterns.
       Metadata Repository: Are repositories that contain metadata in XML for the
        documentation of analysis patterns and services contained in an APRI.
       Analysis Pattern Repository: Are repositories that contain the solutions pro-
        posed by analysis patterns represented by means of diagrams in the XMI
        format. These diagrams can be used by portrayal and collaboration services.
       Portrayal Service: Are services that support the visualization of diagrams
        contained in analysis patterns of an APRI.
       Catalog Service: Are services that enable the cataloging, discovery and use
        of analysis patterns and services of an APRI, based on their metadata.
       Access Service: Are services that allow to obtain analysis patterns.
       Collaboration Service: Are services that allow analysts and designers to
        share their use experiences to improve analysis patterns in an APRI.


DC2AP - Dublin Core Application Profile for Analysis Pattern.
   To assist authors and users of analysis patterns in documentation task, [11] [12]
presented the Dublin Core Application Profile for Analysis Patterns (DC2AP). The
DC2AP was developed based on the model for the specification of analysis patterns
proposed by [9] and the Dublin Core metadata standard [16]. The main goals of the
DC2AP are to standardize the analysis patterns documentation in APRI metadata
repositories and then improve the reuse of analysis patterns through documentation
that allow a better knowledge retrieval made by computers and therefore provide
specific information that could not be previously retrieved by search engines.
   In contrast to the Dublin Core metadata standard, which is generic and therefore in-
tended to document resources from multiple domains, the model proposed in DC2AP
was specially developed to document analysis patterns, thus rich in details of this
specific domain. The DC2AP is composed by twenty-one major elements and forty-
one elements refiners, all of them are specific for analysis patterns documentation.
Each of the main and refiners elements of DC2AP are controlled by rules regarding to
obligation, occurrence and value type of each field. These rules seek to standardize
the use of this application profile and analysis pattern documentation.
   Due to its level of detail, this model was chosen to be used in the DC2AP Metadata
Editor to document analysis patterns.


2.2    Semantic Web and Linked Data

    The Semantic Web is seen as a layer of the Web where is possible to publish, re-
trieve and use data that can be processed by machines [2]. Linked Data provides the
means to make this possible, because these are structured and machine-processable
data published on the Web. These data are well defined and connected to other data
from different sources through semantic relationships [3].
    Linked Data uses three technologies to support the Semantic Web. Uniform Re-
source Identifiers (URIs) are used to identify the data, the HTTP (Hypertext Transfer
Protocol) on the other hand is used as a mechanism for data retrieval and finally the
RDF (Resource Description Framework) is used to describe machine-processable data
on the Web and creating semantic relationships among them [6].
    In order to provide Linked Data from analysis patterns is important that a tool for
cataloging intends to export the metadata of these artifacts to RDF files and assign an
URI to each of these documents. The objectives of the tool DC2AP Metadata Editor,
presented in Section 3, comply with such tasks.


2.3    Cloud Computing and Web Services
    Cloud computing is provided through different types of services, and the main one
is the Software as a Service (SaaS) [14]. This service type provides various software
resources over the internet and they can be used via web browsers by end users [1].
The DC2AP Metadata Editor presented here is an example of SaaS.
    The main reasons for developing the DC2AP Metadata Editor as a SaaS are the
democratization of the access to this tool and its facilitated coupling to an APRI. Oth-
er tools as CatMDEdit [5] and xMET Metadata Editor [13] were evaluated during this
work. Although these tools are metadata editors based on Dublin Core, they are not
specific for analysis patterns documentation and were not developed using Web tech-
nology, which prevents them for being used as SaaS in an APRI.
    Besides of the DC2AP Metadata Editor was developed as a SaaS, this tool provides
some of its resources by means of Web services, so other applications can understand
and reuse these resources without the need to use its GUI, regardless of the program-
ming language used to create them.
3      DC2AP Metadata Editor

   DC2AP Metadata Editor is a SaaS that enables analysis patterns users to create, ed-
it and store metadata of these patterns according to rules described in the DC2AP.
This tool provides Linked Data when exports these metadata to RDF files.
   DC2AP Metadata Editor was developed using the framework Google Web Toolkit
(GWT) [18]. GWT uses Java as standard programming language, and converts the
source code produced in this language to JavaScript code compatible with different
browsers. This technology allows to create dynamic Web systems and has a high level
of portability, allowing the DC2AP Metadata Editor run on all major Web browsers.
   Fig. 2 shows the initial window of the DC2AP Metadata Editor. This tool is hosted
on a server that provides access to its facilities and Web Services. It can be accessed
by the URI: www.purl.org/dc2ap/editor.




                                     (a)
                                                                              (b)




                             Fig. 2. DC2AP Metadata Editor

   By accessing the tool, the user has access to all the elements described in DC2AP.
For each element, there are two icons showing details of them. The icon shown in
Fig. 2(a) shows the rules for filling an element regarding to obligatoriness, occurrence
and value type. On the other hand, the icon displayed in Fig. 2(b) provides access to
detailed information of the element.
   The DC2AP Metadata Editor also provides fields for the multivalued elements of
the DC2AP. This tool allows the manipulation and sorting the list of values of these
fields using the icons on the right side of multivalued fields. The element
2.1 Alternative Title shown in Fig. 2 is an example of a multivalued element.


3.1    Functionalities
   To date, the DC2AP Metadata Editor has two major functionalities: 1) metadata
validation and 2) generation of documentation in the RDF format, accessible by the
buttons Validate and RDF respectively as presented in Fig. 2.
   The Validate functionality verifies if the metadata is in accordance with the obliga-
toriness rules of the DC2AP profile. If there are required elements that were not re-
ported, the tool will then report this information to user by means of a window that
contains a list of the errors found. After the validation of the metadata, it can be ex-
ported to RDF files by means of the function Generate RDF. The use of DC2AP to
document analysis patterns in RDF files makes the metadata repository proposed by
APRI (Fig. 1) a specific domain linked data source.


3.2    Example

   Part of the RDF code equivalent to the analysis pattern originally documented in
[7] is shown in Fig. 3. This code was generated by the DC2AP Metadata Editor after
validation of the metadata registered for the pattern. After generating this code, the
same could be exported to a RDF file and stored in a metadata repository of an APRI.
   The full version of the RDF file shown in Fig. 3 can be accessed by URI
http://purl.org/apri/metadata/UrbanStreetMesh-v1.
   To create the URI present in the RDF files generated by the DC2AP Metadata Edi-
tor, this tool has been integrated into the PURL toolkit [17], which is an environment
for creating permanent identifiers for documents on the Web.




               Fig. 3. Script RDF for the analysis pattern Urban Street Mesh.
3.3       DC2AP Web Service
   The DC2AP Metadata Editor provides some of its functionalities by means of a
web service (DC2APWebService), in which the exchange of messages with the exter-
nal environment is via SOAP protocol. The goal of the DC2APWebService is to al-
low developers of applications related to the domain of analysis patterns reuse the
DC2AP Metadata Editor functionalities without the need to access the system GUI or
redeploy them into their applications. This approach allows developers be free to
create their own application using resources provided by the DC2AP Metadata Editor
using languages and technologies of their choice, since the protocol SOAP is based on
XML and HTTP, universal technologies for messaging.
   The access to the DC2APWebService can be done via the URL:
http://www.ide.ufv.br/dc2ap/webservices/, where is possible to have ac-
cess to the following methods:
          generateRdfScript() - Creating RDF script for the input metadata.
          validateResource() - Validate metadata according to the DC2AP rules.
   The method generateRdfScript() takes as parameters all the elements of the
DC2AP. This method then converts this input to a script RDF, similar to the script
shown in Fig. 3. The method validateResource() takes as parameters only the Manda-
tory and Conditional DC2AP elements. It checks if the input conforms to the valida-
tion rules of DC2AP and then returns a list of messages containing validation errors,
or an empty list if no error has been found.


4         Conclusions and Future Work

   The DC2AP Metadata Editor aims to improve the analysis patterns documentation
process by applying the DC2AP profile. Due to its functionality to export the metada-
ta to the RDF format, the DC2AP Metadata Editor allows the creation of digital col-
lections of machine-processable analysis patterns. Thus, this tool enables to document
analysis patterns in a better structured way. So, these patterns can be retrieved more
quickly and efficiently in APRI's repositories distributed on the Web.
   Creating documentation in the RDF format also aims to provide Linked Data.
When analysis patterns are described as Linked Data they have the reuse potential
expanded and can be better integrated with other data of heterogeneous sources [3].
   This tool provides some of its functionality through Web services, allowing appli-
cation developers in the field of analysis patterns to use the resources of the DC2AP
Metadata Editor, regardless of the technology used for development and thus enabling
the reuse of computational resources in another scale.
   As future work is intend to provide new functionalities in the DC2AP Metadata
Editor and make them available as new Web services, as for example, version control
functionality for RDF files that are generated by the tool, thus allowing the user to
have a history of changes and improvements made in the documentation and also
manage its different versions. Furthermore, the aim is to adapt this tool to also behave
as a generic Dublin Core metadata editor, thereby allowing this new extension to be
used not only for analysis patterns documentation but for document any resource
which the Dublin Core may be applied.

Acknowledgment. Project partially funded by the CNPq/MCT and FAPEMIG.


References
 1. Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R., Konwinski, A., Lee, G., Pat-
    terson, D., Rabkin, A., Stoica, I., Zaharia, M.: A View Of Cloud Computing. Communica-
    tions of the ACM. 53(4), 50-58 (2010)
 2. Berners-Lee, T.: Weaving the Web: The Past, Present and Future of the World Wide Web
    by its Inventor. Texere Publishing, London (2000)
 3. Bizer, C., Heath, T., Berners-Lee, T.: Linked Data - The story so far. In: Heath, T., Hepp,
    T., Bizer, C. (eds.) IJSWIS 2009, 5(3), pp. 1-22. Elsevier (2009)
 4. Blaimer, N., Bortfeldt, A., Pankratz, G.: Patterns in object-oriented analysis. Working Pa-
    per n.451, Faculty of Business Administration and Economics, University of Hagen (2010)
 5. CatMDEdit, http://catmdedit.sourceforge.net
 6. Morshed, A., Caracciolo, C., Johannsen, G., Keizer, J.: Thesaurus alignment for Linked
    Data publishing. In: International Conference on Dublin Core and Metadata Applications
    2011, pp. 37-46. (2011)
 7. Lisboa-Filho, J., Iochpe, C., Borges, K. A. V.: Analysis Patterns for GIS data schema reuse
    on urban management applications. CLEI Electronic Journal. 5(2), 01-15 (2002)
 8. Meszaros, G., Doble, J.: A pattern language for pattern writing. In: Martin, R. C., Riehle,
    D., Buschmann, F. (eds.), Pattern languages of program design 3, pp. 529-574. Addison-
    Wesley, Boston (1997)
 9. Pantoquilho, M., Raminhos, R., Araújo, J.: Analysis Patterns specifications: Filling the
    gaps. In: 2nd Viking Conference Pattern Languages of Programs, pp.169-180. (2003)
10. Vegi, L. F. M., Peixoto, D. A., Soares, L. S., Lisboa-Filho, J., Oliveira, A. P.: An infra-
    structure oriented for cataloging services and reuse of Analysis Patterns. In: Daniel, F.,
    Barkaoui, K., Dustdar, S. (eds.) Business Process Management Workshops 2011, LNBIP
    vol. 100, Part 4, pp. 338-343. Springer, Heidelberg (2012)
11. Vegi, L. F. M., Lisboa-Filho, J., Crompvoets, J.: A Machine-Processable Dublin Core Ap-
    plication Profile for Analysis Patterns to provide Linked Data. In: International Conference
    of Dublin Core and Metadata Applications, pp. 23-32. DCMI, Kuching, Malaysia (2012)
12. Vegi, L. F. M., Lisboa-Filho, J., Costa, G. L. S., Oliveira, A. P., Braga, J. L.: DC2AP: A
    Dublin Core application profile to analysis patterns. In: 24th International Conference on
    Software Engineering and Knowledge Engineering, pp. 511-516. KSI, Skokie (2012)
13. xMET Metadata Editor, http://www.anzlic.org.au/
14. Yang, C., Goodchild, M., Huang, Q., Nebert, D., Raskin, R., Xu, Y., Bambacus, M., Fay,
    D.: Spatial cloud computing: how can the geospatial sciences use and help shape cloud
    computing?. International Journal of Digital Earth. 4(4), 305-329 (2011)
15. Weiss, A.: Computing in the clouds. networker. 11(4), 16-25 (2007)
16. Dublin Core Metadata Initiative.: Dublin Core metadata element set, v.1.0: Reference de-
    scription, http://www.dublincore.org/documents/1998/09/dces/
17. Persistent Uniform Resource Locators, http://purl.oclc.org/docs/index.html
18. Google Web Toolkit, http://developers.google.com/web-toolkit/