Igor Dejanović
University of Novi Sad
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Igor Dejanović.
telecommunications forum | 2012
Nenad Gligoric; Tomislav Dimcic; Dejan Drajic; Srdjan Krco; Igor Dejanović; Nhon Chu; Aleksandar Obradovic
M2M devices can be deployed at various, often not easy to access locations like rural areas, high on the buildings or on moving vehicles. Mobile networks provide connectivity to such devices over the existing infrastructure. This paper presents an implementation and evaluation of the SMS for M2M communication by utilizing CoAP message semantics. The CoAP is a high-layer protocol that strives to become a standardized solution for M2M communication, and as such is interesting for related activities. The evaluation of regular, concatenated and multicast SMS transport shows that increased SMS traffic can lead to longer delivery time. This may not be a concern for M2M devices that are usually sensors with long sleeping cycles; but for other M2M scenarios that requires higher throughput, higher data rates can be achieved by agreeing over specific SLA with Service Provider.
new trends in software methodologies, tools and techniques | 2013
Gordana Milosavljević; Milorad Filipović; Vladan Marsenic; Darko Pejakovic; Igor Dejanović
This paper presents Kroki (fr. croquis - sketch), a tool for participatory development of business applications based on mockups. Kroki provides a graphical editor for visual creation of mockups and two engines (Web and desktop) for mockup execution. Kroki is developed in order to foster development agility, communication and better understanding of end-user needs. The mockup editor and engines are based on our EUIS (Enterprise User Interface Specification) DSL for specifying user interfaces of business applications.
Knowledge Based Systems | 2017
Igor Dejanović; Renata Vaderna; Gordana Milosavljević; Željko Vuković
Abstract TextX is a meta-language and a tool for building Domain-Specific Languages in Python. It’s built on top of the Arpeggio PEG parser and takes away the burden of converting parse trees to abstract representations from language designers. From a single grammar description, textX constructs Arpeggio parser and a meta-model in run-time. The meta-model contains all the information about the language and a set of Python classes inferred from grammar rules. The parser will parse programs/models written in the new language and construct Python object graph a.k.a. the model conforming to the meta-model. The textX tool has support for error reporting, debugging, and meta-model and model visualization. It is used in industrial environments and teaching Domain-Specific Languages course at the Faculty of Technical Sciences in Novi Sad. It is a free and open-source software available at GitHub under the MIT license.
Knowledge Based Systems | 2016
Igor Dejanović; Gordana Milosavljević; Renata Vaderna
Abstract Arpeggio is a recursive descent parser with full backtracking and memoization based on PEG (Parsing Expression Grammar) grammars. This category of parsers is known as packrat parsers. It is implemented in the Python programming language and works as a grammar interpreter. Arpeggio has a very good support for error reporting, debugging, and grammar and parse tree visualization. It is used in industrial environments and teaching Domain-Specific Languages course at the Faculty of Technical Sciences in Novi Sad. Arpeggio is a foundation of a high-level DSL meta-language and tool - textX. It is a free and open-source software available at GitHub under MIT license.
INTERNATIONAL CONFERENCE OF NUMERICAL ANALYSIS AND APPLIED MATHEMATICS 2015 (ICNAAM 2015) | 2016
Milan Kosanović; Igor Dejanović; Gordana Milosavljević
Mobile platforms become a ubiquitous part of our daily lives thus making more pressure to software developers to develop more applications faster and with the support for different mobile operating systems. To foster the faster development of mobile services and applications and to support various mobile operating systems a new software development approaches must be undertaken. Domain-Specific Languages (DSL) are a viable approach that promise to solve a problem of target platform diversity as well as to facilitate rapid application development and shorter time-to-market. This paper presents Applang, a DSL for the specification of mobile applications for the Android platform, based on textX meta-language. The application is described using Applang DSL and the source code for a target platform is automatically generated by the provided code generator. The same application defined using single Applang source can be transformed to various targets with little or no manual modifications.
OTM Confederated International Conferences "On the Move to Meaningful Internet Systems" | 2015
Željko Vuković; Nikola Milanović; Renata Vaderna; Igor Dejanović; Gordana Milosavljević
Mapping elements of various interfaces is one of the most complex tasks in enterprise integration. Differences in the ways that these interfaces represent data in lead to the need of conflict detection and resolving. We present an approach where a structural model of the interfaces can be annotated with a semantic model and used together to (semi-)automate this process. A domain-specific language (DSL) is proposed that can be used to specify criteria for interface element mapping, define conflicts with steps for their resolution if possible, and how the resulting mappings will be translated into expressions needed for code generation. This DSL is intended to give the user the possibility to customise a prototype tool (which we have presented earlier) enabling us to practically test our approach and yield a real-world runnable implementation. Code generated by this tool is deployable to an enterprise service bus (ESB).
Scientific Programming | 2018
Renata Vaderna; Željko Vuković; Igor Dejanović; Gordana Milosavljević
This paper presents a graph drawing and analysis library written in Java called GRAD and its domain-specific language for simplifying the process of laying out graphs. One of GRAD’s main goals is to provide completely automated ways of selecting and configuring a drawing algorithm, based either on the properties of a graph or on a user’s input conforming to the domain-specific language. In order to verify the quality of GRAD’s main features a user study was conducted. The participants were asked to grade diagrams visualized and laid out using different modeling tools, including one relying on GRAD, which received the best overall scores.
Information Systems and E-business Management | 2017
Željko Vuković; Nikola Milanović; Renata Vaderna; Igor Dejanović; Gordana Milosavljević; Vuk Malbasa
In enterprise integration, one of the most complex tasks is to map elements of various interfaces to each other. These interfaces often transport data in different ways. This means that some form of data transformation is needed. We present an approach where structural and semantic models of the interfaces can be used together to automate or semi-automate this otherwise tedious and error prone manual process. Some of the possible criteria for interface element mapping are shown, along with semantic conflicts and how they are detected and resolved. We also present a prototype tool, including an overview of its architecture, that enables us to test our approach and have a real-world runnable implementation that is deployable on an enterprise service bus runtime. Finally, we show how some of the steps in the mapping and conflict resolution process could be made configurable by the user, making the integration developer agnostic with respect to the technical implementation of the involved systems.
INTERNATIONAL CONFERENCE OF NUMERICAL ANALYSIS AND APPLIED MATHEMATICS (ICNAAM 2016) | 2017
Igor Dejanović; Renata Vaderna; Gordana Milosavljević; Miloš Simić; Željko Vuković
In this paper we describe textX, a meta-language and a tool for building Domain-Specific Languages. It is implemented in Python using Arpeggio PEG (Parsing Expression Grammar) parser library. From a single language description (grammar) textX will build a parser and a meta-model (a.k.a. abstract syntax) of the language. The parser is used to parse textual representations of models conforming to the meta-model. As a result of parsing, a Python object graph will be automatically created. The structure of the object graph will conform to the meta-model defined by the grammar. This approach frees a developer from the need to manually analyse a parse tree and transform it to other suitable representation. The textX library is independent of any integrated development environment and can be easily integrated in any Python project. The textX tool works as a grammar interpreter. The parser is configured at run-time using the grammar. The textX tool is a free and open-source project available at GitHub.
federated conference on computer science and information systems | 2016
Renata Vaderna; Igor Dejanović; Gordana Milosavljević
Several important choices need to be made during the development of domain-specific languages, including the one regarding which concrete syntax to implement. There are several alternatives, with graphical and textual syntaxes being the most common ones. Having in mind that the developers and domain experts often have different preferences, supporting both is sometimes the best option. This means that models created using textual editors might need to be opened using separately developed graphical editors. Graphical elements corresponding to model elements must then be automatically created and positioned. Doing so in an aesthetically pleasing way requires usage of graph layout algorithms. Since implementing them is not an easy task, most developers have to rely on existing solutions. There are many Java libraries which have such capabilities, but they all have certain limitations and room for improvement, some of which are addressed in a new graph drawing and analysis library presented in this paper.