Editorial
Nowadays, we may notice the increased importance of applying various multidisciplinary approaches, as well as formal modeling activities as a support for various activities in software and system engineering. Such approaches are often placed in the area of system design, domain specific modeling, languages, compilers, agents, and multimedia applications. Keeping to our tradition of publishing special issues covering research results in the area of information systems, languages, and agents, this special issue is titled Advances in Systems, Modeling, Languages and Agents.
Editors of this issue were inspired by several events they organized during 2013 in the following, somehow closely related domains: Advances in Formal Languages and Compilers, Information Systems, Multimedia Systems and Technologies, Software Quality and Agents. These events were: (i) Workshop on Advances in Programming Languages (WAPL) and International Symposium on Multimedia Applications and Processing (MMAP), both organized within the scope of the Federated Conference on Computer Science and Information Systems (FedCSIS) in Kraków, Poland; (ii) Symposium on Languages, Applications and Technologies (SLATE) in Porto, Portugal; (iii) Symposium on Computer Languages, Implementations and Tools (SCLIT) organized within the scope of the International Conference of Numerical Analysis and Applied Mathematics (ICNAAM) in Rhodes, Greece; (iv) World Conference on Information Systems and Technologies (WorldCIST) in Algarve, Portugal; and (v) Workshop on Software Quality, Analysis, Monitoring, Improvement, and Applications (SQAMIA), held in Novi Sad, Serbia. After an open call to the prospective authors to submit their papers, and a rigorous reviewing procedure, the same as for regularly submitted papers, we finally accepted 21 papers presenting both theoretical and practical contributions in the field of Advances in Systems, Modeling, Languages and Agents.
Nuno Ramos Carvalho, Alberto Simões, and José João Almeida in their paper DMOSS: Open Source Software Documentation Assessment, present the DMOSS3 toolkit, designed to systematically assess the quality of non source code content found in software packages. The toolkit handles a package as an attribute tree, and performs several tree traverse algorithms through a set of plugins, specialized in retrieving specific metrics from text, gathering information about the software. These metrics are later used to infer knowledge about the software, and composed together to build reports that assess the quality of specific features.
In the paper PaaS Manager: A Platform-as-a-Service Aggregation Framework, David Cunha, Pedro Neves, and Pedro Sousa address the challenge of devising a Platform-as-a-Service (PaaS) aggregation solution with the objective of unifying the information and management processes of applications created in PaaS environments. The proposed solution, denominated as PaaS Manager, take the form of a PaaS API aggregator aiming to struggle the existing lock-in in the PaaS market. In this perspective, the authors present the specification, development and test of the proposed PaaS Manager solution. As a result of this framework, end-users are able to select the most appropriate PaaS platform for an application, interacting with any supported vendor through a unique deployment and management interface.
The authors of the paper Modeling Constraint-based Processes: a Supervisory Control Theory Application, Eduardo Alves Portela Santos, Agnelo Denis Vieira, Sauro Schaidt, and Eduardo de Freitas Rocha Loures propose a new approach to deal with constraint-based processes. The approach is based on Supervisory Control Theory, a formal foundation for building controllers for discrete-event systems. The controller proposed in their paper monitors and restricts execution sequences of activities such that constraints are always obeyed. The authors declare that their approach may be used as a declarative language for constraint-based processes. They also propose a set of constraints modeled by automata that are frequently needed in workflow systems.
The following paper relates research topics in the game theory and agents. Poker is used to measure progresses in extensive-form games research due to its unique characteristics: it is a game where playing agents have to deal with incomplete information and stochastic scenarios and a large number of decision points. The authors of the paper Rule based strategies for large extensive-form games: A specification language for No-Limit Texas Hold’em agents, Luís Filipe Teófilo, Luís Paulo Reis, Henrique Lopes Cardoso, and Pedro Mendes state that the development of Poker agents has seen significant advances in one-on-one matches but there are still no consistent results in multiplayer and in games against human experts. In order to allow for experts to aid the improvement of the agents’ performance, the authors propose a high-level strategy specification language. To support strategy definition, they have developed an intuitive graphical tool and a strategy inferring system, based on a dynamically weighted Euclidean distance. Their approach was validated through the creation of simple agents and by successfully inferring strategies from 10 human players.
As title XML Schema metrics for quality evaluation describes, the overall contribution of the following article is in the field of software measurement. Authors Maja Pušnik, Marjan Heričko, Zoran Budimac and Boštjan Šumak propose a novel quality measuring approach, based on existing software engineering metrics. Article defines quality aspect of XML schemas step by step and describes experiment on 250 standard XML schemas collected from available e-business information systems. The results illustrate influence of XML schema characteristics on its quality and evaluate applicability of metrics in the measurement process.
Paper Towards Building A Forensics Aware Language For Secure Logging of authors Shams Zawoad, Marjan Mernik, and Ragib Hasan gives a description of a new domain-specific language called Forensics Aware Language (FAL). The domain of the language is a description of secure logging mechanism on any log format. The domain analysis has been performed using Feature-Oriented Domain Analysis (FODA). Semantics is defined translating language constructs to a Java code that uses a specialized API for secure logging. FAL implementation is done using LISA tool based on attributed grammars. Finally, authors demonstrate FAL usage on the two examples. The first example is definition of secure logging mechanism for snort log files and the second one shows the description of secure logging of changes to the Patient database table.
In their paper Visual Programming of MPI Applications: Debugging, Performance Analysis, and Performance Prediction, authors Stanislav Bohm, Marek Běhálek, Ondřej Meca, and Martin Šurkovský present a simplification of debugging, performance analyses, and performance prediction of parallel MPI applications for distributed memory systems. A simulator that uses an original visual model inspired by Colored Petri Nets and allows the live introspection of developed programs is presented. This simulator is integrated into authors’ open source tool Kaira and arguments why to use Kaira as a prototyping tool for developing MPI applications are provided in the paper.
Jakub Křoustek, Fridolín Pokorný, and Dušan Kolář in the paper A New Approach to Instruction-Idioms Detection in a Retargetable Decompiler deal with the reverse-engineering problem of decompilation of instruction idioms, which appear as sequences in the target code, to the original code. The decompilation described in the previous papers of the same authors is done in basic blocks of the code and is performed in the frontend of the compiler. This paper further considers another technique for finding where in the compiled code instruction idioms have been used, which is supposed to be used by the decompiler's middle-end. Authors declare that this new approach outperforms their previous approach as well as other commercial solutions.
Reed Milewicz, Marjan Mernik, and Peter Pirkelbauer in their paper SimpleConcepts: A Lightweight Extension to C++ to Support Constraints on Generic Types present a new extension to the C++ language that uses source-to-source transformations and allows programmers to specify constraints on generic types in C++. The presented extension is intended to be compatible with pre-existing C++11 compilers and the authors hope to release a complete compiler front-end to provide experimental support for SimpleConcepts in the short term.
In the paper, A new code transformation technique for nested loops, Ivan Šimeček and Pavel Tvrdík describe a new code transformation, the dynamic loop reversal, that improves the locality of the accessed data and can be used as an optimization technique in compilers. The transformation improves the cache utilization, particularly for the codes with nested loops. Demonstrations of significant performance gains for six basic algorithms from linear algebra and graph theory are given and also a probabilistic analytical model is provided. The comparisons of the numbers of measured cache misses and the numbers of cache misses estimated by that model indicate that the model is relatively accurate and can be used in practice.
In the paper Modular Polymorphic Defunctionalization, Georgios Fourtounis, Nikolaos S. Papaspyrou, and Panagiotis Theofilopoulos present the first concrete implementation of the defunctionalization transformation that supports separate compilation of polymorphic functional programs to native code. Their approach is to defunctionalize program modules separately while at the same time recording information about closure constructors, and then build and compile closure dispatchers for these constructors and for all program modules at link-time.
Ricardo Rocha has substantial research on concurrent execution of Prolog programs. In his paper with João Santos, A Team-Based Scheduling Model for Interfacing Or-Parallel Prolog Engines, they propose a novel computational model to efficiently exploit or-parallelism from the recent architectures based on clusters of multicores. Using the concept of teams they were able to decouple the scheduling of work from the architecture of the system. The approach they describe is currently being implemented in the Yap Prolog system.
The paper by Milan Nosáľ and Jaroslav Porubän, XML to Annotations Mapping Definition with Patterns, addresses the correspondence between XML documents and source code annotations used by configuration tools. They formalized the concept of mapping between embed configurations using code annotations and external configurations using XML documents, and were able to identify a number of recurrent mapping patterns. The paper includes a study for a JPA configuration language that highlights the most common mappings resulting from this approach.
In their paper, Sequencing Educational Resources with Seqins, Ricardo Queirós, José Paulo Leal, and José Campos present a tool for sequencing both expositive and evaluative educational resources. The sequence of resources presented to each individual student is steered by his/her grades on exercises evaluated automatically. This tool communicates with an ecosystem of eLearning systems, such as leaning management systems (LMS) and evaluation systems, using the IMS LTI specification. The paper reports on the use of this tool with a set of short educational videos on C# programming language and an automatic evaluator of programming exercises as steering agent.
Article Language Abstractions For Low Level Optimization Techniques by authors Gergely Dévai, Zoltán Gera, and Zoltán Kelemen provides contribution primarily in area or performance-critical applications where optimisation at a low abstraction level is needed. These optimisations could be done automatically by compilers or manually by programmer in which case it is needed to have available language features that make the optimization easier. Main contributions of the paper are language abstractions for two well-known optimizations: bitvectors and SIMD (Single Instruction Multiple Data). The language features are implemented in the embedded domain specific language Feldspar, which is specifically tailored for digital signal processing applications. Even the paper presents these language elements as part of Feldspar, the ideas behind them are general enough to be applied in other languages, as well.
Authors Tomas Skersys, Kestutis Kapocius, Rimantas Butleris, and Tomas Danikauskas in the article Extracting Business Vocabularies from Business Process Models: SBVR and BPMN Standards-based Approach present aspects of the approach for semi-automatic extraction of business vocabularies (BV) from business process models (BPM). The approach applied in described research is based on novel business modelling-level OMG standards “Business Process Model and Notation” (BPMN) and “Semantics for Business Vocabularies and Business Rules” (SBVR). The discussed extraction approach is evaluated against fully-automatic BPMN BPM to SBVR BV transformation that has been developed in parallel to the presented work. At low level of abstraction this article provides contribution to OMG’s vision of Model-Driven Architecture (MDA) and to model-driven development in general. Even in common practice of Information Systems Development, the Business modelling activities still are of mostly empiric nature, this paper at higher level contributing to both disciplines: Business Process Management and Information Systems Development.
The title of the following article is Optimization of server performance in the CMX educational MMORPG for Computer Programming. It provides contribution to the usage of games in education which already has increased in previous years, exploiting the fact that young people are familiarized with them and would be more motivated to learn while entertained. Authors of this article are Christos Malliarakis, Maya Satratzemi, and Stelios Xinogalos. They propose a new methodology to achieve monitoring and optimization of the load balancing, so that the essential resources for the proper execution of an educational Massive Multiplayer Online Role Playing Games (MMORPG) for computer programming can be foreseen and bestowed without overloading the system. This is the basic contribution of the described research because MMORPG require significant amounts of resources, such as bandwidth, RAM and CPU capacity to support learning. Moreover, in the article authors present an educational MMORPG called CMX, which aims to teach computer programming through interactive activities and role-playing. Proposed model is finally applied to CMX by conducting an experiment in order to confirm the results.
In their paper Semantic Representation of Multi-platform 3D Content, Jakub Flotyński and Krzysztof Walczak propose a method of semantic creation of interactive 3D content for multi-platform 3D content representation. A semantic representation of 3D content can be automatically transformed into different presentation forms suited to different 3D platforms. The method is based on the semantic web techniques. It supports the use of 3D content presentation tools, programming languages and libraries to produce more easily manageable content. The method has been implemented, its use illustrated, and evaluated in the paper.
Valery Korzhik, Guilermo Morales-Luna, Alexander Kochkarev, and Dmitriy Flaxman, in their paper Concatenated Digital Watermarking System Robust to Different Removal Attacks, propose a new digital watermarking system that combines watermarking based on holographic transform domain and watermarking based on image normalization. These watermarking methods are combined in a serial manner to form a concatenated method of watermarking which is resistant to watermarks removal attacks such as cropping of windows, removal of rows/columns, JPEG compression, and/or geometric transforms. Authors also investigate error correcting codes applying to corrupted images after concatenated watermark usage in order to improve a reliability of fingerprinting application.
Marco Querini and Giuseppe F. Italiano in the paper Reliability and Data Density in High Capacity Color Barcodes explore reliability and data density in 2D color barcodes using desktop scanners and mobile phone cameras. They perform an experiment to identify the most suitable color classifiers for converting analog barcode cells to digital bit streams. Authors developed a prototype capable of decoding 2D color barcodes by using different methods. They concluded that for the desktop scenario the lowest error rates are obtained by means of clustering algorithms and probabilistic classifiers. For the mobile scenario authors concluded simple and efficient methods are not effective, and the more complex methods are effective but not efficient.
In their paper Real-time Implementation of Foreground Object Detection from a Moving Camera Using the ViBE Algorithm, Tomasz Kryjak, Mateusz Komorkiewicz, and Marek Gorgon presented a real-time hardware implementation of foreground object detection in video sequences when camera is non-static. The implemented solution is based on background modeling. Details of the implementation and resource handling for the proposed solution have been discussed. The solution has been tested on a hardware platform with an FPGA device and evaluated using both static and non-static video sequences.
On behalf of the ComSIS Consortium and Editorial Board, let us express our great thanks to the reviewers and all the authors for their high-quality work and extraordinary enthusiasm.
Editors of the special issue
Ivan Luković,
Zoran Budimac,
José Paulo Leal,
Jan Janousek,
Álvaro Rocha,
Dumitru Dan Burdescu, and
Dinu Dragan