In the context of the FrameWeb project, ontologies were built for each supported category of frameworks supported by the method (Front Controller, Dependency Injection, Object/Relational Mapping, Security frameworks), using an ontology engineering approach to try and make sure such reference model properly represents a consensus among the mostly used frameworks. Such ontologies are being organized into an ontology network called SFWON – Software Frameworks Ontology Network.
Below, we list resources associated with different papers that contributed to the construction of SFWON.
Artifacts related to the paper “Ontological Representation of Relational Databases”:
- Especificacao_Ontologia_RDBS-O: full specification of the Relational Database System Ontology (RDBS-O), in Portuguese;
- rdbs-owl.owl: operational version of the Relational Database System Ontology in OWL (RDBS-OWL);
- ca_mapping.ttl: D2RQ mapping file to instantiate the ontology based on an example Oracle database;
- ca_dump.rdf: RDF dump file generated by the above mapping file and the example Oracle database.
Artifacts related to the paper “OOC-O: a Reference Ontology on Object-Oriented Code”:
- OOC-O Specification: full specification of the Object Oriented Code Ontology (OOC-O);
- ooc.owl: operational version of the Object Oriented Code Ontology (OOC-O) in OWL;
- OOC-O Harmonization: full description of the process of harmonization of selected OO programming languages based on the Object Oriented Code Ontology (OOC-O).
Artifacts related to the paper “Representação Ontológica de Frameworks de Mapeamento Objeto/Relacional” (“Ontological Representation of Object/Relational Mapping Frameworks”, in Portuguese):
- ORM-O Specification: full specification of the Object/Relational Mapping Ontology (ORM-O), in Portuguese;
- ORMFConverter: source code repository of the ORM code conversion tool built based on ORM-O.
O-SCAN – Ontology-based Source Code Analysis
The O-SCAN method was proposed in 2020 in the context of the research of PhD candidate Camila Zacché de Aguiar. It allows for the semantic representation of source code files written in different programming languages by using ontologies and, then, for code smells to be identified in such code by querying this unified model. The O-SCAN method is related to SFWON because the ontologies from the network can be used by O-SCAN to produce code smells detectors in source code that uses a framework represented by these ontologies (e.g., code smells in source code that uses object/relational mapping).
Artifacts related to the paper “An Ontology-based Method for Code Smells Detection”:
- O-SCAN_1.0.jar: smell detector built as a proof of concept and presented as running example in Section 4 of the paper, as well as used in real-world software projects in Section 5.1 of the paper. It is able to detect the Long Parameter List code smell in Java code bases;
- O-SCAN_SmellDetect.zip: files related to the application of O-SCAN to the subdomain of object/relational mapping, described as one of the evaluation efforts of the method in Section 5.2 of the paper. A code smell that detected situations in which two unrelated persistent classes (entities) have the data from their objects stored in the same table in the database was formalized and is detected by the generated code smell detector.
Publications related to SFWON
- C. Z. de Aguiar, R. A. de Falbo, and V. S. E. Souza, “OOC-O: A Reference Ontology on Object-Oriented Code,” in Proc. of the 38th International Conference on Conceptual Modeling (ER 2019), Salvador, BA, Brazil, 2019, p. 13–27.
- F. L. Zanetti, C. Z. de Aguiar, and V. S. E. Souza, “Representação Ontológica de Frameworks de Mapeamento Objeto/Relacional,” in Proc. of the 12th Seminar on Ontology Research in Brazil (ONTOBRAS 2019), Porto Alegre, RS, Brasil, 2019.
- C. Z. de Aguiar, R. A. Falbo, and V. E. S. Souza, “Ontological Representation of Relational Databases,” in Proc. of the 11th Seminar on Ontology Research in Brazil (ONTOBRAS 2018), São Paulo, SP, Brazil, 2018, p. 140–151.
For further information on SFWON, contact prof. Vítor E. Silva Souza, who coordinates current efforts in this research project.