UML Class Diagram Composition Using Software Requirements Specifications

Alexey Tazin
2017 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems  
Consider a scenario of collaborative software engineering process in which different software engineering teams create different versions of software design that satisfy given software requirements specifications. Often the software designs are expressed as UML diagrams, e.g., class diagrams. In this process, the class diagrams developed by different teams have to be reconciled and only one final diagram should be included in the final design. The reconciliation process may include the
more » ... of the "best" parts of each proposed diagrams and used to compose the optimal diagram from the selected parts. It is difficult for software engineers to achieve such a goal manually since manual process is very time consuming, error prone, and not scalable for large software projects. We are developing an approach and algorithms for automating the selection of the best subdiagrams developed by different teams and composing them into one diagram that is optimal with respect to a given objective function. The final diagram must satisfy software requirements specifications that were satisfied by each proposed diagram. The developed approach will be evaluated experimentally by generating random software requirements (expressed in SPARQL and OWL), generating random class diagrams satisfying these requirements, generating composed diagrams that satisfy these requirements, and computing two class diagram metrics for each composed diagram. These metrics are number of classes and number of associations. This approach was implemented using Jena, OWL ontologies, ArgoUML, and SPARQL.
dblp:conf/models/Tazin17 fatcat:bbuhchnebfg3jdrqfnzkdmw57q