Available online at ScienceDirect. Procedia Computer Science 96 (2016 )

Similar documents
Available online at ScienceDirect. Procedia Computer Science 59 (2015 )

Available online at ScienceDirect. Procedia Computer Science 34 (2014 ) Generic Connector for Mobile Devices

Available online at ScienceDirect. Procedia Computer Science 60 (2015 )

SCADA Systems Management based on WEB Services

ScienceDirect. Exporting files into cloud using gestures in hand held devices-an intelligent attempt.

Available online at ScienceDirect. Procedia Computer Science 59 (2015 )

Segmentation of Arabic handwritten text to lines

AUTOMATED GUI TESTING OF SOFTWARE APPLICATIONS USING UML MODELS

SCADA virtual instruments management

ScienceDirect. Vulnerability Assessment & Penetration Testing as a Cyber Defence Technology

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Available online at ScienceDirect. Procedia Engineering 111 (2015 )

Available online at ScienceDirect. Energy Procedia 69 (2015 )

Available online at ScienceDirect. Procedia Engineering 90 (2014 )

Total cost of ownership for application replatform by open-source SW

Utilizing a Common Language as a Generative Software Reuse Tool

Software Language Engineering of Architectural Viewpoints

Procedia - Social and Behavioral Sciences 143 ( 2014 ) CY-ICER D visualization in teaching anatomy

Development of a formal REA-ontology Representation

Starting Ontology Development by Visually Modeling an Example Situation - a User Study

Available online at ScienceDirect. Procedia Computer Science 60 (2015 )

UML Component Diagrams A.Y 2018/2019

Business Activity. predecessor Activity Description. from * successor * to. Performer is performer has attribute.

ScienceDirect. Plan Restructuring in Multi Agent Planning

ScienceDirect. A Human-Machine Interface Evaluation Method Based on Balancing Principles

Requirements Engineering for Enterprise Systems

Properly even harmonious labelings of disconnected graphs

Achieve Significant Throughput Gains in Wireless Networks with Large Delay-Bandwidth Product

Parametric Maps for Performance-Based Urban Design

ScienceDirect. A considerate application prediction system with artificial neural network

Data Logical Structure Design on Teaching Material Management System based on Oracle Zhe Li1,a, Hui Ma2,b

Rapid prototyping for CANopen system development

ScienceDirect. Exporting data from an openehr repository to standard formats

Available online at ScienceDirect. Procedia Computer Science 93 (2016 )

Available online at ScienceDirect. Procedia Engineering 136 (2016 ) Dynamic analysis of fuel tank

Meta-Modeling and Modeling Languages

A Visual Tool for Supporting Developers in Ontology-based Application Integration

ERD Getting Started Guide

Comparative Analysis of Architectural Views Based on UML

An Evaluation Framework for Data Modeling Languages in Network Management Domain

Metamodeling for Business Model Design

Available online at ScienceDirect. Procedia Computer Science 96 (2016 )

Available online at ScienceDirect. Procedia Computer Science 98 (2016 )

Available online at ScienceDirect. Procedia Computer Science 52 (2015 )

The Analysis and Design of the Object-oriented System Li Xin 1, a

Particular experience in design and implementation of a Current Research Information System in Russia: national specificity

REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES

Available online at ScienceDirect. Procedia Computer Science 46 (2015 )

Available online at ScienceDirect. Procedia Computer Science 89 (2016 )

ScienceDirect. Analogy between immune system and sensor replacement using mobile robots on wireless sensor networks

Architecture Viewpoint Template for ISO/IEC/IEEE 42010

Deep Integration of Scripting Languages and Semantic Web Technologies

Available online at ScienceDirect. Procedia Manufacturing 3 (2015 )

Available online at ScienceDirect. Procedia Computer Science 57 (2015 )

Available online at ScienceDirect. Procedia Computer Science 89 (2016 )

Automated REA (AREA): a software toolset for a machinereadable resource-event-agent (REA) ontology specification

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

ScienceDirect. Extending Lifetime of Wireless Sensor Networks by Management of Spare Nodes

Modeling Systems Using Design Patterns

Text clustering based on a divide and merge strategy

A conceptual model of trademark retrieval based on conceptual similarity

ScienceDirect. STA Data Model for Effective Business Process Modelling

Available online at ScienceDirect. International Workshop on Enabling ICT for Smart Buildings (ICT-SB 2014)

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

A Partition Method for Graph Isomorphism

Available online at ScienceDirect. Procedia Engineering 161 (2016 ) Bohdan Stawiski a, *, Tomasz Kania a

IJESMR International Journal OF Engineering Sciences & Management Research

Applied semantics for integration and analytics

Creating Ontology Chart Using Economy Domain Ontologies

Available online at ScienceDirect. Procedia Engineering 192 (2017 )

Cache Performance Research for Embedded Processors

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Available online at ScienceDirect. Procedia Computer Science 60 (2015 )

Available online at ScienceDirect. Procedia Computer Science 35 (2014 )

Available online at ScienceDirect. Procedia Computer Science 93 (2016 )

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

ScienceDirect. An Approach for Generating Minimal Test Cases for Regression Testing

Realization of Time Synchronization Server Based on C/S

ISA-95 Tool for Enterprise Modeling

Configuration management for Lyee software

An Evaluation of ERwin

Usability evaluation of e-commerce on B2C websites in China

Towards Automatic Selection of Web Services Using Graph Transformation Rules

ScienceDirect. Forming of ellipse heads of large-scale austenitic stainless steel pressure vessel

Graph Representation of Declarative Languages as a Variant of Future Formal Specification Language

Available online at ScienceDirect. Procedia Computer Science 37 (2014 )

The Design and Realization of Visual Education System for Bridge Structure Analysis

Research on Technologies in Smart Substation

Presentation for the MARC Format Interest Group at the ALA Midwinter Meeting January 21, 2012 Kelley McGrath

Handout 9: Imperative Programs and State

Available online at ScienceDirect. Procedia Computer Science 46 (2015 ) Design of Hash Algorithm using Latin Square

Available online at ScienceDirect. Procedia Computer Science 87 (2016 )

Available online at ScienceDirect. Procedia Computer Science 103 (2017 )

Modeling Relationships

Solution for Euler Equations Lagrangian and Eulerian Descriptions

Rules of Writing Software Requirement Specifications

Re-using Data Mining Workflows

Available online at ScienceDirect. Procedia Computer Science 45 (2015 )

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Transcription:

Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 96 (2016 ) 946 950 20th International Conference on Knowledge Based and Intelligent Information and Engineering Systems Translating semantic networks to UML class diagrams Ivan Barashev* Higher School of Economics, 20 Myasnitskaya Ulitsa, Moscow 101000, Russia Abstract The high importance of a proper definition of software architecture is obvious, but this task is not easy, especially in large projects. The project scheme should be legibly structured and clearly visualized. To that aim, usually widespread UML class diagrams are used. However, this way is not flexible and clear enough at the initial state of the development, so there is a need of a more appropriate method. Semantic networks are not so commonly used to meet these demands. Nevertheless, this notation is a fairly suitable approach to building evolutionary computing system architectures. Also, this can be a good mediator for other formats. Moreover, the tools for that may become quite powerful and relevant. 2016 2015 The The Authors. Authors. Published Published by Elsevier by Elsevier B.V. B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/). Peer-review under responsibility of KES International. Peer-review under responsibility of KES International Keywords: UML class diagrams; semantic networks; software architecture * Corresponding author. E-mail address: aivanf@mail.ru 1. Introduction The more advanced computer systems become, the more difficult it is to work with them. However, a programmer cannot keep in mind all the picture of the application he is developing because human memory does not increase and stays the same. Hence, the elaborated systems must be well organized to avoid extra thinking about different details. Also, eventually this will allow to avoid plenty of problems. That is why software architecture is so important. Therefore, the tools for building software architecture are so important. As Revees wrote: I would say we need good architectures top level design, good abstractions class design, and good implementations low level design. [5] A number of studies and guides of software architecture definition find UML diagrams an imperfect tool and recommend do not to use them at the beginning of the work [1-3]. Unnecessary formalism makes development more complicated rather than clear. The majority of other object-oriented tools have the same difficulty: they provide their 1877-0509 2016 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/). Peer-review under responsibility of KES International doi:10.1016/j.procs.2016.08.085

Ivan Barashev / Procedia Computer Science 96 ( 2016 ) 946 950 947 own strict rules and rigid frameworks. In addition, there is almost no tool to connect different formats with others. Hereby, there is a need of more flexible method to build application architecture. In addition, the notation of semantic networks can be used for that: it is quite flexible and any other notation can be described using it. 2. Background and related works There are several well-known kinds of diagrams which are used to represent and describe object-oriented systems. Here they are: Unified Modeling Language (UML) diagrams and, specifically in this paper, class diagrams. A number of popular IDEs can build UML class diagrams from an existing source code to improve visualization and documentation. Some special tools allow to make class diagrams using drag and drop interface, and others can create templates of code using the given class diagrams. UML specification also provides various types of diagrams with other rules which help to describe systems from different object-oriented views. Furthermore, it is widely used in industry for a long time [7]. Entity-relationship (ER) model. It is also used to describe objects of some systems, mostly relational databases. It is used in some popular applications, in instance, Microsoft Visio. Ontologies. Applications such as famous Protégé and OWLGrEd allow to develop systems of ontologies which are generally based on frames. Frames are used in the artificial intelligence field to describe relationships between objects. These notations are widely used in various situations by small and large IT teams. And they have been in demand for a several decades. However, they have a few disadvantages which disturb software development process: These formal notations are too strict, focused on low-level aspects of concepts and associations. Thus, they are not yielding enough to high-level influence. However, such formats either cannot describe every facet of application, only the code is capable of it. As Reeves said, the code is the design [5]. For the same reason, such methods of representation are not scalable. Moreover, large systems contain dozens of objects which can and should be merged together in higher scale of view. UML specification is difficult to study and use. It contains a great deal of diagram kinds with their own rules. On the one hand, UML class diagrams describe a lot of details of systems which are not so necessary at the beginning of architecture definition. Hereby, it is also time-consuming. On the other hand, it lacks a formal definition, which is necessary for large projects [8]. Some of these and other difficulties of UML are discussed by Bachmann et al [1] and Avgeriou et al [3]. There is no converter between described formats. Although it is used quite rarely, there are some situations where it is necessary. Nevertheless, some attempts were made to connect UML diagrams with ontologies [7,8]. For these reasons, some developers try to create and use new methods for architecture building and representation which are more flexible, understandable and suitable. The project called Structurizr was developed as an alternative to UML diagrams and a few applications for software definition. This provides its own simple rules and application with drag and drop interface for easy building software architecture. The necessity this tool is explained by Brown [2]. However, the server part of the application is chargeable, and it does not interact with different notations. The developers of Semantic Research Inc. created Semantic Object Language (SOL) which is based on a semantic network. The key advantage of this graphical format is the representation of the system in relation to one selected object. While it represents object systems in a very dynamic and readable way, this format does not provide an exact way of architecture construal. Thus, SOL has not become popular.

948 Ivan Barashev / Procedia Computer Science 96 ( 2016 ) 946 950 3. Problem formulation Given that development of large projects is a complex process, software engineers use some notations to describe developing systems in order to represent them visually. Often rigid notations are used for that, however, they are not flexible enough. In addition, most of formats are not compatible. Meanwhile, semantic networks are quite simple and yielding to influence. According to Sowa [4] and Osipov [6], UML and frames are examples of hybrid of multiple semantic network notations. Thus, semantic networks can easily become a mediator for other notations. The problem of this work is to link class formalism with a free conceptual notation. In other words, the goal is to create a tool for translating strict UML-diagrams of classes to semantic networks and backwards in order to use the flexible network notation at first stages of projects development. Hence, it will allow to elaborate evolutionary software architecture. For example, it is possible to begin the project with a mind map, then to develop it into a complete semantic network and eventually to design a class diagram and a code template. The key attribute of this tool is transparency, which means that the tool must have visualization. There is no common textual notation for UML class diagrams, therefore a good way to represent them textually is to use a programming language. Furthermore, the most widely used textual notation for semantic networks is a functional one. 4. Practical results The above mentioned program has been developed for two operating systems: Windows and Mac OS X. This program can convert a code of functional notation of semantic networks to code in the C# programming language and backwards. The application interface contains two text fields for input and output, combo boxes for formats choice and a button for text processing. In addition, UML class diagram and semantic network graph can be drawn for visual perception by pressing the relevant buttons below each text field. The figure below shows the main window of the program. Fig.1. Application screenshot. At the beginning, the parser of functional notation of semantic networks gets a list of functions with two arguments, which describe directed links between concepts. The application provides a few of standard relationships

Ivan Barashev / Procedia Computer Science 96 ( 2016 ) 946 950 949 types (such as: is a, has variable, of type ), which are available for converting to a programming language, but it can also process any other names of links. The parser successfully detects if parentheses are parts of a method name and distinguish different nodes with the same name. In addition, detected mistakes of the input text are printed with their line numbers and a comments. Furthermore, the application was written in C# using Visual Studio for Windows and Xamarin for Mac OS. Its main part is a library for text process in different formats. This library is the same for both operating systems. Interaction with it is based on Model-View-Controller software design patterns. The controller is core controller class, the view is window controller interface, and the model is core class with nodes and links. In addition, internal organization of the library is based on Factory pattern. In this way, the core controller uses different parsers, code generators and visualizers, which are chosen considering selected by user types. To draw graphs, the library visualizers create scripts of DOT language. Then, the application sends it to the libraries of GraphViz program. GraphViz is a powerful, popular, cross-platform and freeware tool that can draw any kind of graph or diagram and is able to handle hundreds of nodes and links. It also provides a great deal of shapes and attributes for nodes and arrows. 5. Results of experimental verification The developed instrument was tested within a few university small and middle-scale projects. It was used to define and concretize significant aspects of applications architecture and behavior. Also, it has proven a useful analytical tool when some major changes of architecture were required. However, it has one remarkable drawback: the developed tool does not provide the drag and drop interface, that is not convenient. The second figure illustrates a semantic network visualized using the instrument. As well as the previous figure, it shows a part of architecture of program developed using our tool. In addition, shapes of arrows can be easily changed using special integrated functions. Fig.2. Semantic network visualization.

950 Ivan Barashev / Procedia Computer Science 96 ( 2016 ) 946 950 6. Conclusion The definition of application architecture is one of the major challenges related to large projects development, since instruments for building systems are an indispensable part of software engineering. There is a number of variety methods for architecture building with surplus formalism. One of the possible solutions to this problem is to connect and convert different formats and to use a flexible notation with formals. The connection of class diagrams with semantic networks has revealed that semantic networks provide the necessary plasticity for the development and this notation is a proper mediator for other formats. In the future, the developed program can be improved by including other languages and notations (for example, ontologies, C++ programming language or conceptual semantic networks), making it more interactive and introducing the drag and drop interface. Perhaps, this application will not become very popular, but it is a step in such important field, and this experience can be used in future projects. References 1. Bachmann F., Bass L., Carriere J., Clements P., Garlan D., Ivers J., Nord R., Little R. Software Architecture Documentation in Practice: Documenting Architectural Layers. Pittsburgh: Software Engineering Institute; 2000. 2. Brown S. Software Architecture for Developers. Leanpub; 2016. 3. Avgeriou P., Guelfi N., Medvidovic N. Software Architecture Description and UML. Berlin: Springer-Verlag; 2005. 4. Sowa J. Conceptual Graphs. Handbook of Knowledge Representation. Elsevier; 2008. p. 213-237. 5. Reeves J. Code as Design: Three Essays by Jack W. Reeves. Developer dot star; 2005. 6. Osipov G. Methods of Artificial Intelligence. 2nd ed. Moscow: Fizmatlit; 2015. 7. Kogut P., Cranefield S., Hart L., Dutra M., Kokar M., Baclawski K., Smith J. UML for ontology development. The Knowledge Engineering Review. Cambridge University Press; 2002. #01 (17). p 61-64. 8. Cranefield S. UML and the Semantic Web. The Emerging Semantic Web. IOS Press; 2002.