Logo

Publikacije (31)

Nazad
S. Ribic, K. Hodzic

Courses in principles of digital computers usually begin with elementary logic circuits, proceed through increasingly complex ones, and often end with the design of a central processing unit. Such processors are typically simpler to explain than commercial microprocessors, but also often have very limited capabilities. The educational processor presented in this paper has a good balance between simplicity and capabilities. All its instructions, including multiplication and bit rotation, are executed in one clock cycle. The method of encoding and decoding instructions is quite simplified so that the encoding of instructions can be done even manually without tables, and the decoder unit is a simple forwarding of parts of the instruction word to the control bits of multiplexers. The processor is symmetric around the number 16: it has 16 three-operand instructions, 16 registers, each register is 16 bits wide, as well as the address and data bus. It is simulated at the logic gates level, a Verilog implementation on FPGA, and an emulated computer run by an implementation of a Forth interpreter written partly in its machine language.

Kenan Karahodžić, S. Ribic, Razija Turčinhodžić Mulahasanović

A special type of integer programming, called binary or 0/1 programming, has a wide area of application, primarily in the field of scheduling. Two main approaches to this problem are simplex algorithm based branch and cut methods and optimized Boolean enumeration. Given the time complexity of the enumerative algorithm, it is useful to find ways to speed up the process. Intel x86 processors have registers and instructions that allow simultaneous operations on 16 or 32 data items. The paper describes experiences with the transformation of an algorithm into an assembly language in order to use these instructions to increase the algorithm speed.

Emir Barucija, Amila Akagić, S. Ribic, Ž. Jurić

Algorithms for solving Rubik’s cube have been an active research area since the first appearance of the cube in 1974. The challenge posed when solving the cube is to choose an algorithm that solves the cube for the minimum number of steps. Many algorithms are already implemented in software, but not many are tested with modern hardware-software methodologies, such as hardware-software co-design. Here, the challenge is to take into consideration limiting factors of hardware and implement the most efficient solution. In this paper, the hardware/software co-design is used to solve the random configuration of Rubik’s cube. Two algorithms are used: the Basic algorithm and the Kociemba algorithm. The Basic algorithm is easy to understand and implement but requires many more steps to solve the cube than the Kociemba algorithm. The Kociemba algorithm requires some pre-processing tasks, such as depth-first search and pruning trees, but can solve the cube in about 25 moves. Both algorithms are implemented and tested on a custom-made robot with mechanical parts, actuators, grippers and Intel’s DE1-SoC for drive control and implementation of solving algorithms. The robot successfully solved a number of random configurations. Performances (running time, number of moves needed for solving the cube) of both algorithms are measured and compared.

Razija Turcinhodzic, S. Ribic, Edo Imamovic, Emilija Zdilar

Creating school timetables is a problem whose complexity varies depending on school size and the requirements that occur in a model. The topic of this paper is related to schools that lack resources because they work in shifts and they are rarely discussed in literature. The first problem is the way the requirements are written. The paper deals with the XHSTT format and REDOSPLAT, a domain-specific language designed to set up timetable requirements. Another problem is the way a model is solved. We investigated the VNS and SVNS algorithms because they showed good results for this type of school. Their application on the actual test cases also revealed some interesting phenomena in formulating the requirements that can significantly affect the quality of the solution.

Ervin Djogic, S. Ribic, D. Donko

With this paper we presented architectural redesign of SOA (service oriented architecture) integration platform by following principles of microservices design. Presented SOA platform is currently in use for Real estate sector. Number of messages which need to be processed by platform is growing as well as number of new integrations which requires redesign of platform. Redesign should provide ability for scalability, better resource management, maintenance and deployment. To support this, it is necessary to transform integration platform to be microservices based.

S. Ribic, Razija Turcinhodzic, Arnela Tumbul

Creating school timetables is problematic in many schools due to the complexity of models that need to be solved. If schools do not have enough resources (rooms, teachers), they are forced to work double or several shifts. This paper deals with shift types and ways to write them in formats used by computers to generate timetables automatically. Even though many schools work in shifts, the constraint to include shifts in creating timetables is rarely discussed in literature. This paper discusses a way to formulate school shifts using the XHSST format, a way to modify a domain specific language to support shifts, and an example of a way to modify the mathematical model of integer linear programming to support working in several shifts.

Alvin Huseinović, S. Ribic

Computing the fractals can be time consuming if processed in sequential manner. Computing the fractals is iterative process so it can easily be transformed to run in parallel fashion. Since OpenCL supports parallel execution of code on both CPU and/or GPU, benchmarking and comparison the computation of Madelbrot by using OpenCL, can give insight on the speedup that modern parallel architectures have to offer. Results of these benchmarks and comparsions are given in this paper.

Teo Eterovic, Enio Kaljic, D. Donko, A. Salihbegovic, S. Ribic

Although there are many attempts to engineer a domain specific language for the Internet of Things, most of them forget the fact that with the evolving of the Internet of Things, the end user will probably be a common person without an engineering or software development background. The designers of the UML had the same problem: how to make a language powerful enough for the professionals, but at the same time simple enough to be understood by a non-technical end user that gives the requirements. Inspired by this idea a Visual Domain Specific Modeling Language was developed for the IoT and proved that it is powerful enough for the professional and at the same time simple enough to be used by non-technical users.

Razija Turcinhodzic, S. Ribic

Genetic algorithm (GA) is a popular optimisation method used in various fields. Although it has been used for quite some time, some of its disadvantages are still subject to research: premature convergence, computational expensiveness, and the setting of the initial parameters. This paper focuses on selections. Selections that can change parameters during the run of the GA have been developed, but a GA that uses different selections in individual generations has not been created. Since this approach yields good results for crossover and mutation, it raises the following question: could it also yield good results in the case of selection? The problem lies in the uniqueness of selections and the impossibility of using the same approach in combining them. Attempts to solve this problem have led to the modification in the GA structure which resulted in a new algorithm called “modified GA” (MGA). It turned out that the new structure can improve the efficiency of the GA.

S. Ribic, Razija Turcinhodzic, A. Muratovic-Ribic

Integer linear programming is a popular method of generating school timetables. Although computationally simpler, school timetabling is less developed area than university timetabling, because the models which resolve timetabling problems proposed thus far have been adjusted to individual cases differing from country to country. A proposed model meets most of constraints appeared in different school timetabling systems.

With the goal of relieving the Internet of things (IoT)application designers of the complexities and heterogeneity of wireless sensory networks (WSNs), devices, communication media, protocols and operating systems, the development of higher level domain specific language has been undertaken. The result is DSL-4-IoT Editor-Designer, which is based on high level visual programming language, established on the class of visual domain specific modeling languages (VDSMLs). DSL-4-IoT is using formal presentations and abstract syntax in a metamodel. The visual front-end of the Editor has been developed in JavaScript language. The runtime execution of generated IoT application configuration files is done by the open source project “OpenHAB” runtime engine. In order to demonstrate the viability and usability of the developed DSL-4-IoT visual model based language, an experimental IoT testbed including 15 heterogeneous wireless sensory devices spanning two application domain (smart home and remote patient monitoring), has been designed and deployed.

The operating systems courses are often organized according to three basic approaches: as user-centric, theoretically oriented with the explanation of the principles of operation, or through analysis and modification of the kernel source code. While the third approach is the most illustrative, it requires the most of the time at the expense of broader analysis of implementation for different algorithms of the operating systems. Hence, the frequent approach is the development of small kernel, instead of analysing those that are in wider use. In this paper we will present a simple kernel, with a minimal size of source code, which can be fully described in 90 minutes of classroom teaching, but still large enough to be installed and started on a typical PC. This educational version of a kernel includes the basic functions of any OS core: video, keyboard, disk, file system, memory, processes and threads.

S. Ribic, A. Salihbegovic, Alvin Huseinović

There is often a need enter data in online documents. Web based interface is popular, but sometimes there is a need to fill the data using scripting and automation. JavaScript may enable automatic data entry, but it requires that script written in JavaScript executes on the same server where the form is being processed, due to protection mechanism of “same origin policy”. If needed, some browsers support disabling this policy, or there is alternative method to bypass it. The paper describes this method and includes a sample JavaScript code for automated data confirmation.

Agricultural cooperatives emerge as tools through which individual farmers meet their economic and social needs and they do so in a manner that allows them both to economize on costs and to disperse the risks associated with pursuing these needs individually. They are particularly useful for enhancing economic development of transition countries in which basic market economy infrastructure is either underdeveloped or is altogether missing. However, agricultural cooperatives do not always deliver the desired level of rural development. Although the literature sometimes takes this to mean that the model itself is defective, I argue to the contrary. In this thesis, I propose that it is the evolutionary path of cooperative idea, its implementation in reality and the way in which it interacts with its institutional surroundings that condition the ability of the model to perform. In other words, cooperative idea is not immune to its political and economic context but rather it is molded by it, and sometimes to the point that it no longer resembles its original substance. In line with that, the main objective of this thesis is to look into factors that either stimulate or discourage development and functioning of agricultural cooperatives in a context of post-socialist and post-conflict Bosnia and Herzegovina (BiH). In doing so, the thesis adopts a new institutionalist frame of analysis combining it with the insights from the economics of the third sector and the cooperative theory to highlight both the evolutionary nature of cooperative idea as well as its embeddedness in the socio-economic context. The research relied on quantitative and qualitative approaches and gathered data from field work and secondary sources. The main findings can be summarized in the following several points: both formal and informal institutions have shaped the way in which cooperatives are understood and utilized by farmers in BiH; cooperatives in post-socialist and post-conflict settings require legal clarity that not only sets them apart from other types of firms in the market but also from degenerated forms of cooperatives that exist to serve interests of few individuals rather than cooperative members and their communities; when judged by the standards that apply to cooperatives in economically advanced societies, it is safe to state that there are very few true cooperatives in BiH; given the structure of agricultural market and number of farmers, there is a lot of potential in utilizing the cooperative model for purposes of rural development. However, using cooperatives for development purposes requires a basic alignment between the features of institutional environment and cooperative organizational characteristics. If stimulated properly through positive policy changes, cooperatives can exhibit transformative potential that is best reflected in how they empower their patrons as well as contribute to the development of their communities.

Nema pronađenih rezultata, molimo da izmjenite uslove pretrage i pokušate ponovo!

Pretplatite se na novosti o BH Akademskom Imeniku

Ova stranica koristi kolačiće da bi vam pružila najbolje iskustvo

Saznaj više