Theory of Computing, Computing Methodologies and Software Engineering

doi: 10.2498/iti.2012.0430

Creating Hybrid Software Engineering Methods by Means of Metamodels

Darko Androcec, Zeljko Dobrovic

Abstract

Two dominant techniques for software development used nowadays are the classical software development methods (e.g. RUP, waterfall) and the agile approaches (e.g. Scrum, XP). One can also use hybrid methods, because both approaches have some benefits. In this paper we show how to build new hybrid software engineering methods by means of metamodels. We describe metamodels of the classical waterfall method and extreme programming and create their common metamodel. This common metamodel is then used as a foundation for new hybrid method development and development of workflow of its implementation.

Keywords

Metamodel, extreme programming, waterfall method, hybrid software engineering

Full text is available at IEEE Xplore digital library.


doi: 10.2498/iti.2012.0392

XML Schema Domain Identification

Maja Pusnik, Bostjan Sumak, Marjan Hericko

Abstract

Using XML data was initially applied in electronic data interchange and e-business, however the application of XML has been moved to several other fields. We nominate those fields of use as XML domains and presume that subsets of their characteristics significantly differ from one another. In this paper, we present the list of identified XML domains with high degree of XML Schema appearances, and for the XML domains, we identify common and distinctive characteristics. Additionally, we propose a function for transforming identified XML domains into known XML Schema patterns.

Keywords

XML Schema, XML domains, XML structure

Full text is available at IEEE Xplore digital library.


doi: 10.2498/iti.2012.0432

Mixnets: Implementation and Performance Evaluation of Decryption and Re-encryption Types

Pance Ribarski, Ljupcho Antovski

Abstract

The anonymous channels have been the essence of numerous protocols that include anonymous message passing between peers. The mixnet structure is one way to accomplish the anonymity . Since the publication of the Chaumian mixnet, there have been many practical implementations. There are two main approaches to implement mixnets: the decryption (Chaumian) and the re-encryption mixnets. In this paper we analyze four types of mixnets, from which one decryption and three re-encryption types. They were implemented in the Java programing language and evaluated on several criterias as: the number of messages, the total number of nodes, the number of threshold nodes, and the key length of underlying crypto system. In the results section we compare the results from the practical tests to answer the research question, which type of mixnets has better features.

Keywords

mixnets, decryption, re-encryption, e-voting, algorithms, performance, Elgamal, threshold, dealer

Full text is available at IEEE Xplore digital library.


doi: 10.2498/iti.2012.0376

Superlinear Speedup for Matrix Multiplication

Sasko Ristov, Marjan Gusev

Abstract

Amdahl has shown that multiprocessor execution performance is not proportional to the number of processors. Gustafson has found a way to show that there are algorithms which can have almost linear speedup. In this article we have found algorithms which can achieve a superlinear speedup. The idea is not based on changing the algorithm or executing smaller number of operations like in the parallel search. It is based on characteristics of using a structure persistent algorithm which efficiently exploits the cache in a shared multiprocessor and avoids cache misses as much as possible. Our experimental research shows results of superlinear speedup for algorithms which run on modern multi-core and multi-chip architectures and perform beyond expectations of maximum linear speedup.

Keywords

superlinear speedup, matrix multiplication, Gustafson's law, Amdahl's law, shared memory multiprocessor, L2 cache, high performance computing

Full text is available at IEEE Xplore digital library.


doi: 10.2498/iti.2012.0414

Rethinking Model Driven Development: Analysis and Opportunities

Nikola Tanković, Dražen Vukotić, Mario Žagar

Abstract

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 of approach used, MDD still needs to surpass certain challenges to gain further appreciation among community. This paper classifies those challenges and proposes use of different methodologies which could enable simpler modeling solutions. Object Process Methodology (OPM) as software modeling tool is an adequate candidate yielding results in that direction.

Keywords

Generative MDD, Interpretive MDD, Object Process Methodology

Full text is available at IEEE Xplore digital library.