
Nikola TankovicJuraj Dobrila University of Pula · Faculty of Informatics
Nikola Tankovic
Assistant Professor (Computer Science)
About
26
Publications
6,752
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
48
Citations
Introduction
Assistant professor at Juraj Dobrila University of Pula Faculty of Informatics.
Youtube channel (in Croatian) with lessons: https://www.youtube.com/NikolaTankovic
Additional affiliations
September 2010 - November 2015
Publications
Publications (26)
There exists a huge amount of vertical applications that are developed for isolated computing environments. Due to increasing demand for additional resources there is a clear need to adapt these applications to the distributed environments. However, this is not an easy task and numerous variants are possible. Moreover, in this transition a new qual...
Application architectures in the cloud employ elastic components, and achieve lower operating costs without sacrificing quality. Software architects strive to provide efficient services by deciding on software topology: a set of structural architectural decisions. For a given application, there can be numerous software topology alternatives creatin...
Plethora of available heterogeneous transactional data and recent advancements in machine learning are the key forces that enable the development of complex algorithms that can reach human-level performance on an increasing number of tasks. Given the non-linear structure composed of many layers of computation, these highly accurate models are usual...
Application models are commonly used in the development of information systems. Recent trends have introduced techniques by which models can be directly transformed into execution code and thus become a single source for application design. Inherently, it has been challenging for software developers to become proficient in designing entire systems...
A successful business operates on many interacting processes to meet the business goals; thus, organizing these processes in a structured business model is essential. Business process modeling notation (BPMN) is a widely used business modeling technique based on simple business and logic specifications understandable not only by domain experts but...
This book focuses on novel design and systems engineering approaches, including theories and best practices, for promoting a better integration of people and engineering systems. It covers a range of innovative topics related to: development of human-centered systems; interface design and human-computer interaction; usability and user experience; i...
This paper identifies the emerging cybersecurity issues of the smart grid ICT component in the implementation of control and monitoring systems at the substation level. The attack surface originates from a local network across different levels of interoperability, communication (data) model standard, and digital data collection. Given the level of...
Recent advances in blockchain gained significant social attention, mainly due to substantial price fluctuations of Bitcoin and Ethereum cryptocurrencies. By its design, blockchain is an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way, providing solutions for many complex ta...
With the emerging IoT and Cloud-based networked systems that rely heavily on virtualization technologies, elasticity becomes a dominant system engineering attribute for providing QoS-aware services to their users. Although the concept of elasticity can introduce significant QoS and cost benefits, its implementation in real systems is full of challe...
This paper summarizes a novel approach for consuming a domain specific language (DSL) by transforming it to a directed graph representation persisted by a graph database. Using such specialized database enables advanced navigation trough the stored model exposing only relevant subsets of meta-data to different involved services and components. We a...
Many of us discuss about past. Some of us are rethinking the present. Only the brave among us dare
to devise the future. Discussing the past is easy. Rethinking the present is demanding. But the real challenge
comes when dealing with future perspectives. And that is what the authors of following papers
dared to do.
The idea of this scientific monog...
Presentatino of ElaClo tool.
This paper summarizes a novel approach for consuming a domain specific language (DSL) by transforming it to a directed graph representation persisted by a graph database. Using such specialized database enables advanced navigation trough the stored model exposing only relevant subsets of meta-data to different involved services and components.We ap...
A recent trend, movement of software applications to Cloud, provides among numerous benefits, an important model for infrastructure cost reduction using the pay-as-you-go concept. In our experiments, we noticed that software distribution may significantly influence cost benefits achieved in Cloud. Software distribution optimization requires a conti...
End user development (EUD) is the idea of providing end users, professionals outside computer science community, to develop their own software. This idea has received special attention by domain experts who would like to easily modify software applications to their needs, without intervention of technical professionals and without learning conventi...
Application modeling is gaining its share as the next generation software development methodology. Model Driven Development (MDD) uses abstract models of software systems to yield concrete implementations. This process can be achieved in two fundamentally different ways: by generating end artifacts, or by applying model interpretation. Regardless o...
This paper proposes a novel approach to consumer application development using executable Application Graph Model (AGM). Based on Object-Process Methodology (OPM), AGM has expressive nature to model a generic, data-centric application based on desired domain model. AGM is interpretative, not generative, and also reflective, which enables runtime mo...
Application modeling is gaining its share as the next generation software development methodology. Model Driven Development (MDD) approaches use abstract models of software systems to yield concrete implementations. This process can be achieved in two fundamentally different ways: by generating end artifacts like programing code and database schema...
Computer hardware is gaining its share in human population towards one computer per user, with a tendency to become more than one computer per single user. Smartphone market is significantly contributing that trend. To use the creative and consumer potential of such vast amount of users, there is a need to enable intuitive and easy modeling, develo...
Questions
Questions (2)
I have a real system for which I have built a simulation that can express its certain characteristics. This real system can be in very large amount of configurations which can also be represented within simulation environment. Evaluation of each configuration on real system takes couple of hours, where evaluation within simulation takes couple of minutes.
I developed an optimization algorithm which finds a Pareto set of configurations that minimize (maximize) several objectives.
To solve this, I have built a genetic algorithm which uses simulator to obtain a Pareto set that will further be evaluated on real system.
I am wondering what approach to take on evaluating such two-step optimization heuristic? Evaluating all candidates on real system is infeasible.
So far I have think of this:
- compare results with randomly selected configurations
- compare worst and best results to see if they are distant enough (e.g. in separated cluster)
Any thoughts?
I am looking for a optimizer who can accept non-linear models from queue theory used to find optimal deployments of web services.
Projects
Project (1)
Evolving complex software systems (EVOSOFT) have become a central part of a rapidly growing range of applications, products and services supporting daily human activities from all economic sectors. As they are often distributed, heterogeneous, decentralized and inter-dependent, and operating in dynamic and unpredictable environments, availability and reliability become key properties for its operation and future evolution. The novel and still unexplored area of research addressed in this project is to understand how abstract software structures and local system properties influence fault distributions, thus affecting mission critical system properties, among which availability and reliability and to develop innovative approaches for smart management of their operation and evolution. We are facing with completely new phenomena, similar to human evolution, but produced by human intellect. Foundations and theories from other disciplines aiming to understand complex system behavior, evolution and human reasoning could be applied. New findings would open new opportunities in many scientific fields, especially in complex systems theory and its applications, thus interacting with a wide spectrum of sciences, from natural sciences such as biomedicine to social sciences. Industrial experience gathered by systematic Empirical Software Engineering approach is extremely important for further evolution of software engineering discipline. New theories cannot provide effective means for industry without fundamental understanding of EVOSOFT behavior. The main aim of this project is to fulfill this gap between empirical evidence and theoretical models. In that aim we combined empirical and theoretical skills aiming to:
• replicate studies and confirm empirical principles and methods and define a solid base to ground new theories,
• define structural dependencies for applicability of empirical principles, methods,
• define formal models and innovative approaches for smart management