Vaidas Giedrimas - Academia.edu (original) (raw)

Papers by Vaidas Giedrimas

Research paper thumbnail of The Grid and Cloud Computing Facilities in Lithuania

Scalable Comput. Pract. Exp., 2011

Nowadays ICT are faced the paradigm shift to the cloud computing. Even already distributed enviro... more Nowadays ICT are faced the paradigm shift to the cloud computing. Even already distributed environments such as grids are challenged to change in order to meet new paradigm. This paper presents Lithuanian grid computing achievements, including National grid initiative (LitGrid), and our cloud computing potential. As an example two particular cloud-related applications are presented.

Research paper thumbnail of The impact of mobile architectures on component-based software engineering

2015 IEEE 3rd Workshop on Advances in Information, Electronic and Electrical Engineering (AIEEE), 2015

Component-based software engineering ensures high software quality and rapid application developm... more Component-based software engineering ensures high software quality and rapid application development. However many technological changes are observed since early outbreak of component-based software engineering (CBSE) paradigm on 1990's. One of these changes is clear shift towards mobile and cloud computing platforms. The goal of this paper is to outline major changes of the component concept and changes of CBSE in general influenced by the mobile platforms. The models of iOS, Android and Windows Phone Applications are described. The paper discloses main similarities and differences of the legacy systems and the mobile component-based systems.

Research paper thumbnail of Towards Generative E-Learning Software Development for Mobile Devices

Information Technologies for enhancement of learning process must be flexible and correspond the ... more Information Technologies for enhancement of learning process must be flexible and correspond the demand. It is necessary to discuss not only about Intelligent Educational Systems (IES), but about the methods of IES development too. Nowadays we’re observing the assimilation of different medias. The differences between Internet and digital TV services are decreasing as well as the differences between computer and mobile device. The number of different devices with various parameters is increasing. Moreover, the number of differ-ent mobile learning categories is increasing too. However the e-learning soft-ware developers are not ready for this growth. Most popular virtual learning en-vironments (e.g. MOODLE) have different product lines for some devices (e.g. for desktop computers and for mobile phones). There is a lack of universal solu-tions for mobile devices and there are no solutions for TV at all.This paper states that increasing demand for universal VLE can be met using generati...

Research paper thumbnail of Towards the Curry-Howard protocol implementation for the component-based paradigm

2014 IEEE 2nd Workshop on Advances in Information, Electronic and Electrical Engineering (AIEEE), 2014

The CBSE enables to reduce the time required for the development and testing, to create robust sy... more The CBSE enables to reduce the time required for the development and testing, to create robust systems. However not all existing component-based software synthesis methods focus on the software quality. There is the need for the method which can ensure software quality (in terms of consistence of specification and implementation) preserving short time required for software development at the same time. The component-based system synthesis method based on the Curry-Howard protocol is presented in this paper as the solution for this problem. Authors presents some implementation details of this method also and argue that the component-based software synthesis problem and the solution can be stated in terms of abstract component model.

Research paper thumbnail of Distributed systems for software engineering: Non-traditional approach

2013 7th International Conference on Application of Information and Communication Technologies, 2013

ABSTRACT Often software engineering is considered in distributed systems (Grid and cloud computin... more ABSTRACT Often software engineering is considered in distributed systems (Grid and cloud computing) context as a serving part. In this presentation opposite point of view is presented - to consider software engineering as a ”client”, and to use distributed computing power to solve particular software engineering problems. It is argued that software engineering has several areas where the big amount of the computations is required: formal methods for software synthesis from the services, formal methods for the verification of the software, model checking etc. The conceptual framework for software synthesis using distributed computing is presented as an example of feasibility of proposed idea.

Research paper thumbnail of Proof-Of-Stake Consensus Algorithms for the Software Components Blockchain

Journal of Engineering Science, Mar 1, 2022

In the blockchain context, the information system (IS) is considered a part of its infrastructure... more In the blockchain context, the information system (IS) is considered a part of its infrastructure. However, blockchain itself can be used for IS development using software components and services. As the trust for binary components or services is still a problem, we propose to use the blockchain of components to solve this problem. In this paper, the part of such solution, namely consensus algorithms, is discussed. We focus on Proof-of-Stake algorithms and present their feasibility to be used in the blockchain of software components. It was found that the use of probabilistic algorithms (RRR, CloudPoS, WV, DDPoS, Panda) allow the partial solution of the problem in the blockchain of reliable software components.

Research paper thumbnail of Drawing process recording tool for Eye-hand Coordination modelling

2017 40th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), 2017

The process of drawing is one of the main activities during childhood. The drawing dynamics, draw... more The process of drawing is one of the main activities during childhood. The drawing dynamics, drawing techniques are on the focus of education science. It is known that the result of the drawing process depends on eye-hand coordination. Testing of the psycho-motoric reactions allows classifying motion and positioning problems. Psychomotor reaction data, compared with the characteristics of the drawing such as line thickness and plasticity, allows to clarify the stages of drawing process as well as to establish correlations between the arm motion, plasticity of the drawing and the eye characteristics. In order to perform such research, to make models of the Eye-hand Coordination special tool for drawing process date acquisition, recording and analysis is needed. In this paper one possible implementation of such tool is presented as well as the formal foundations and premises on which the tool is operating.

Research paper thumbnail of The role of blockchain for increase trust on software components and services

2020 IEEE 14th International Conference on Application of Information and Communication Technologies (AICT)

Software components and services are the main building blocks for distributed software projects, ... more Software components and services are the main building blocks for distributed software projects, enabling them to make software engineering really global. However, the trust for binary components or service is still an open question. Because the components and services are provided to the system without the possibility of the detailed inspection of its internals, global system integrators are walking on edge to approve such building blocks inside the system. In the times when software quality now is critically important (as the financial data), we need solutions as secure as those which are used to preserve financial data. In this paper, the authors discuss the main issues of the software components and services trust and to present the blockchain-based model of software metadata registration and retrieval to increase the trust for the software composition entities.

Research paper thumbnail of Nuotraukų galerijų suderinamumo užtikrinimas naudojant pasaulinio tinklo paslaugas

Research paper thumbnail of The Aspect of Resilience in Microservices-Based Software Design

This paper discusses two approaches in microservices-based software design, from the perspective ... more This paper discusses two approaches in microservices-based software design, from the perspective of failure possibility. The first approach accepts the fact that complex distributed software systems with many communicating components, such as microservices-based software, could fail (it is not important when), and is focused on the resilient software design. Resilient software design provides strategies and mechanisms for dealing with failures. While robust system just continues functioning in the presence of a failure, resilient system is prepared to adapt yourself while continuing functioning. Second approach is to try to build ideal software that will never fail. Lot of theory behind behavioral type systems is devoted to this – choreographic programming for example. Choreographic programming relies on choreographies as global descriptions of system implementations – behavior of all entities (e.g. microservices) in a system - are given in a single program. The first approach is in...

Research paper thumbnail of Reversibility in Component-based Programming Language

Reversible computing is an emerging paradigm which is giving new challenges for software engineer... more Reversible computing is an emerging paradigm which is giving new challenges for software engineering, including programming languages refinement. Currently there exist the implementations of reversible computing languages for structural and object-oriented programming only. However contemporary highly distributed software is composed from coarse-grain entities such as services or components. The aim of this paper is to present the reversibility aspects for component-oriented programming. The conceptual framework of reversible component-oriented programming is presented and implementation details of reversible component based programming language are discussed.

Research paper thumbnail of Distributed Software Development Tools for Distributed Scientific Applications

Recent Progress in Parallel and Distributed Computing, Jul 19, 2017

This chapter provides a new methodology and two tools for user-driven Wikinomicsoriented scientif... more This chapter provides a new methodology and two tools for user-driven Wikinomicsoriented scientific applications' development. Service-oriented architecture for such applications is used, where the entire research supporting computing or simulating process is broken down into a set of loosely coupled stages in the form of interoperating replaceable Web services that can be distributed over different clouds. Any piece of the code and any application component deployed on a system can be reused and transformed into a service. The combination of service-oriented and cloud computing will indeed begin to challenge the way of research supporting computing development, the facilities of which are considered in this chapter.

Research paper thumbnail of Simulated annealing and variable neighborhood search algorithm for automated software services composition

The process of software-as-a-service (SaaS) development is critical in developing time as well as... more The process of software-as-a-service (SaaS) development is critical in developing time as well as in quality aspects. The tools for semiautomatic or even automatic composition of software services are already implemented. However the problem of the quality of the resulting SaaS system still exists. There is huge number of the services-components (subsystems) with the same functionality but different non-functional attributes and relatively short time to evaluate them. In this paper the method for optimal set of services-components selection taking into account non-functional properties of services-components is proposed. This method can be used as an extension of other proofs-as-programs methods and service-oriented software development systems.We have presented the simulated annealing algorithm with variable neighborhood search for automated software composition and have evaluated this algorithm experimentally, comparing it to the Classic SA and Greedy algorithms. The algorithm for...

Research paper thumbnail of Modelinės architektūros naudojimas kuriant komponentines programų sistemas

Informacijos mokslai, 2009

Modelinė architektūra gana paplitusi, tačiau jos taikymai komponentinei paradigmai yra tik dalini... more Modelinė architektūra gana paplitusi, tačiau jos taikymai komponentinei paradigmai yra tik daliniaineatsižvelgiama į reikalavimą atskirti komponentų ir komponentinių sistemų kūrimo procesus. Šio straipsnio tikslas-aprašyti modelinės architektūros naudojimo automatizuotai kuriant komponentines programų sistemas iš binarinių komponentų metodą, atsižvelgiant į Išrink-Pritaikyk-Testuok gyvavimo ciklo reikalavimus. Straipsnyje atskleista komponentinių programų abstrakčiųjų ir konkrečiųjų modelių specifi ka, aprašytos jų transformacijos. Nustatyta, kad modelinė architektūra su pakeitimais gali būti naudojama ir komponentinių programų sistemų kūrimo iš binarinių komponentų procesui automatizuoti, pateiktos jos tobulinimo gairės.

Research paper thumbnail of Data Mining Techniques for the Analysis of Student’s Admission Data

Studies in Computational Intelligence

Research paper thumbnail of Recursive AOP for Reversible Software

Baltic Journal of Modern Computing

Innovative paradigm of reversible computing (RC) is on the focus of current computer science. The... more Innovative paradigm of reversible computing (RC) is on the focus of current computer science. The main idea of it is to enable the execution of programs not forward only (as it is now) but backwards as well. The set of possible applications of RC includes software debugging, faulttolerance increasing and quantum computing. In order to do reversible computing operational there is a need to code (manually) or to generate opposite "reverse" element for each "forward" element. However, this emerging paradigm still needs the methods for expressing opposite language elements in advance (during design-time). On the other hand, classic Aspect oriented paradigm (AOP) helps to deal with crosscutting concerns such as security, transactions etc. at design time, allows to separate development tasks by proficiency instead of by modules and to run weaved program at run-time. In this paper author present the idea to express opposite language elements by using recursive aspects.

Research paper thumbnail of The evolution of automated component-based software development tools: From structural synthesis of programs to behavioral types

2017 International Conference on Information Science and Communications Technologies (ICISCT)

Research paper thumbnail of Wiki-Based Stochastic Programming and Statistical Modeling System for the Cloud

International Journal of Advanced Computer Science and Applications

Scientific software is a special type of software because its quality has a huge impact on the qu... more Scientific software is a special type of software because its quality has a huge impact on the quality of scientific conclusions and scientific progress. However, it is hard to ensure required quality of the software because of the misunderstandings between the scientists and the software engineers. In this paper, we present a system for improving the quality of scientific software using elements of wikinomics and cloud computing and its implementation details. The system enables scientists to collaborate and make direct evolution of the models, algorithms, and programs. WikiSPSM expands the limits of mathematical software.

Research paper thumbnail of Comparative analysis of functional and object-oriented programming

2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), 2016

Research paper thumbnail of Software Component Conceptualization Using Clustering Method

Research paper thumbnail of The Grid and Cloud Computing Facilities in Lithuania

Scalable Comput. Pract. Exp., 2011

Nowadays ICT are faced the paradigm shift to the cloud computing. Even already distributed enviro... more Nowadays ICT are faced the paradigm shift to the cloud computing. Even already distributed environments such as grids are challenged to change in order to meet new paradigm. This paper presents Lithuanian grid computing achievements, including National grid initiative (LitGrid), and our cloud computing potential. As an example two particular cloud-related applications are presented.

Research paper thumbnail of The impact of mobile architectures on component-based software engineering

2015 IEEE 3rd Workshop on Advances in Information, Electronic and Electrical Engineering (AIEEE), 2015

Component-based software engineering ensures high software quality and rapid application developm... more Component-based software engineering ensures high software quality and rapid application development. However many technological changes are observed since early outbreak of component-based software engineering (CBSE) paradigm on 1990's. One of these changes is clear shift towards mobile and cloud computing platforms. The goal of this paper is to outline major changes of the component concept and changes of CBSE in general influenced by the mobile platforms. The models of iOS, Android and Windows Phone Applications are described. The paper discloses main similarities and differences of the legacy systems and the mobile component-based systems.

Research paper thumbnail of Towards Generative E-Learning Software Development for Mobile Devices

Information Technologies for enhancement of learning process must be flexible and correspond the ... more Information Technologies for enhancement of learning process must be flexible and correspond the demand. It is necessary to discuss not only about Intelligent Educational Systems (IES), but about the methods of IES development too. Nowadays we’re observing the assimilation of different medias. The differences between Internet and digital TV services are decreasing as well as the differences between computer and mobile device. The number of different devices with various parameters is increasing. Moreover, the number of differ-ent mobile learning categories is increasing too. However the e-learning soft-ware developers are not ready for this growth. Most popular virtual learning en-vironments (e.g. MOODLE) have different product lines for some devices (e.g. for desktop computers and for mobile phones). There is a lack of universal solu-tions for mobile devices and there are no solutions for TV at all.This paper states that increasing demand for universal VLE can be met using generati...

Research paper thumbnail of Towards the Curry-Howard protocol implementation for the component-based paradigm

2014 IEEE 2nd Workshop on Advances in Information, Electronic and Electrical Engineering (AIEEE), 2014

The CBSE enables to reduce the time required for the development and testing, to create robust sy... more The CBSE enables to reduce the time required for the development and testing, to create robust systems. However not all existing component-based software synthesis methods focus on the software quality. There is the need for the method which can ensure software quality (in terms of consistence of specification and implementation) preserving short time required for software development at the same time. The component-based system synthesis method based on the Curry-Howard protocol is presented in this paper as the solution for this problem. Authors presents some implementation details of this method also and argue that the component-based software synthesis problem and the solution can be stated in terms of abstract component model.

Research paper thumbnail of Distributed systems for software engineering: Non-traditional approach

2013 7th International Conference on Application of Information and Communication Technologies, 2013

ABSTRACT Often software engineering is considered in distributed systems (Grid and cloud computin... more ABSTRACT Often software engineering is considered in distributed systems (Grid and cloud computing) context as a serving part. In this presentation opposite point of view is presented - to consider software engineering as a ”client”, and to use distributed computing power to solve particular software engineering problems. It is argued that software engineering has several areas where the big amount of the computations is required: formal methods for software synthesis from the services, formal methods for the verification of the software, model checking etc. The conceptual framework for software synthesis using distributed computing is presented as an example of feasibility of proposed idea.

Research paper thumbnail of Proof-Of-Stake Consensus Algorithms for the Software Components Blockchain

Journal of Engineering Science, Mar 1, 2022

In the blockchain context, the information system (IS) is considered a part of its infrastructure... more In the blockchain context, the information system (IS) is considered a part of its infrastructure. However, blockchain itself can be used for IS development using software components and services. As the trust for binary components or services is still a problem, we propose to use the blockchain of components to solve this problem. In this paper, the part of such solution, namely consensus algorithms, is discussed. We focus on Proof-of-Stake algorithms and present their feasibility to be used in the blockchain of software components. It was found that the use of probabilistic algorithms (RRR, CloudPoS, WV, DDPoS, Panda) allow the partial solution of the problem in the blockchain of reliable software components.

Research paper thumbnail of Drawing process recording tool for Eye-hand Coordination modelling

2017 40th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), 2017

The process of drawing is one of the main activities during childhood. The drawing dynamics, draw... more The process of drawing is one of the main activities during childhood. The drawing dynamics, drawing techniques are on the focus of education science. It is known that the result of the drawing process depends on eye-hand coordination. Testing of the psycho-motoric reactions allows classifying motion and positioning problems. Psychomotor reaction data, compared with the characteristics of the drawing such as line thickness and plasticity, allows to clarify the stages of drawing process as well as to establish correlations between the arm motion, plasticity of the drawing and the eye characteristics. In order to perform such research, to make models of the Eye-hand Coordination special tool for drawing process date acquisition, recording and analysis is needed. In this paper one possible implementation of such tool is presented as well as the formal foundations and premises on which the tool is operating.

Research paper thumbnail of The role of blockchain for increase trust on software components and services

2020 IEEE 14th International Conference on Application of Information and Communication Technologies (AICT)

Software components and services are the main building blocks for distributed software projects, ... more Software components and services are the main building blocks for distributed software projects, enabling them to make software engineering really global. However, the trust for binary components or service is still an open question. Because the components and services are provided to the system without the possibility of the detailed inspection of its internals, global system integrators are walking on edge to approve such building blocks inside the system. In the times when software quality now is critically important (as the financial data), we need solutions as secure as those which are used to preserve financial data. In this paper, the authors discuss the main issues of the software components and services trust and to present the blockchain-based model of software metadata registration and retrieval to increase the trust for the software composition entities.

Research paper thumbnail of Nuotraukų galerijų suderinamumo užtikrinimas naudojant pasaulinio tinklo paslaugas

Research paper thumbnail of The Aspect of Resilience in Microservices-Based Software Design

This paper discusses two approaches in microservices-based software design, from the perspective ... more This paper discusses two approaches in microservices-based software design, from the perspective of failure possibility. The first approach accepts the fact that complex distributed software systems with many communicating components, such as microservices-based software, could fail (it is not important when), and is focused on the resilient software design. Resilient software design provides strategies and mechanisms for dealing with failures. While robust system just continues functioning in the presence of a failure, resilient system is prepared to adapt yourself while continuing functioning. Second approach is to try to build ideal software that will never fail. Lot of theory behind behavioral type systems is devoted to this – choreographic programming for example. Choreographic programming relies on choreographies as global descriptions of system implementations – behavior of all entities (e.g. microservices) in a system - are given in a single program. The first approach is in...

Research paper thumbnail of Reversibility in Component-based Programming Language

Reversible computing is an emerging paradigm which is giving new challenges for software engineer... more Reversible computing is an emerging paradigm which is giving new challenges for software engineering, including programming languages refinement. Currently there exist the implementations of reversible computing languages for structural and object-oriented programming only. However contemporary highly distributed software is composed from coarse-grain entities such as services or components. The aim of this paper is to present the reversibility aspects for component-oriented programming. The conceptual framework of reversible component-oriented programming is presented and implementation details of reversible component based programming language are discussed.

Research paper thumbnail of Distributed Software Development Tools for Distributed Scientific Applications

Recent Progress in Parallel and Distributed Computing, Jul 19, 2017

This chapter provides a new methodology and two tools for user-driven Wikinomicsoriented scientif... more This chapter provides a new methodology and two tools for user-driven Wikinomicsoriented scientific applications' development. Service-oriented architecture for such applications is used, where the entire research supporting computing or simulating process is broken down into a set of loosely coupled stages in the form of interoperating replaceable Web services that can be distributed over different clouds. Any piece of the code and any application component deployed on a system can be reused and transformed into a service. The combination of service-oriented and cloud computing will indeed begin to challenge the way of research supporting computing development, the facilities of which are considered in this chapter.

Research paper thumbnail of Simulated annealing and variable neighborhood search algorithm for automated software services composition

The process of software-as-a-service (SaaS) development is critical in developing time as well as... more The process of software-as-a-service (SaaS) development is critical in developing time as well as in quality aspects. The tools for semiautomatic or even automatic composition of software services are already implemented. However the problem of the quality of the resulting SaaS system still exists. There is huge number of the services-components (subsystems) with the same functionality but different non-functional attributes and relatively short time to evaluate them. In this paper the method for optimal set of services-components selection taking into account non-functional properties of services-components is proposed. This method can be used as an extension of other proofs-as-programs methods and service-oriented software development systems.We have presented the simulated annealing algorithm with variable neighborhood search for automated software composition and have evaluated this algorithm experimentally, comparing it to the Classic SA and Greedy algorithms. The algorithm for...

Research paper thumbnail of Modelinės architektūros naudojimas kuriant komponentines programų sistemas

Informacijos mokslai, 2009

Modelinė architektūra gana paplitusi, tačiau jos taikymai komponentinei paradigmai yra tik dalini... more Modelinė architektūra gana paplitusi, tačiau jos taikymai komponentinei paradigmai yra tik daliniaineatsižvelgiama į reikalavimą atskirti komponentų ir komponentinių sistemų kūrimo procesus. Šio straipsnio tikslas-aprašyti modelinės architektūros naudojimo automatizuotai kuriant komponentines programų sistemas iš binarinių komponentų metodą, atsižvelgiant į Išrink-Pritaikyk-Testuok gyvavimo ciklo reikalavimus. Straipsnyje atskleista komponentinių programų abstrakčiųjų ir konkrečiųjų modelių specifi ka, aprašytos jų transformacijos. Nustatyta, kad modelinė architektūra su pakeitimais gali būti naudojama ir komponentinių programų sistemų kūrimo iš binarinių komponentų procesui automatizuoti, pateiktos jos tobulinimo gairės.

Research paper thumbnail of Data Mining Techniques for the Analysis of Student’s Admission Data

Studies in Computational Intelligence

Research paper thumbnail of Recursive AOP for Reversible Software

Baltic Journal of Modern Computing

Innovative paradigm of reversible computing (RC) is on the focus of current computer science. The... more Innovative paradigm of reversible computing (RC) is on the focus of current computer science. The main idea of it is to enable the execution of programs not forward only (as it is now) but backwards as well. The set of possible applications of RC includes software debugging, faulttolerance increasing and quantum computing. In order to do reversible computing operational there is a need to code (manually) or to generate opposite "reverse" element for each "forward" element. However, this emerging paradigm still needs the methods for expressing opposite language elements in advance (during design-time). On the other hand, classic Aspect oriented paradigm (AOP) helps to deal with crosscutting concerns such as security, transactions etc. at design time, allows to separate development tasks by proficiency instead of by modules and to run weaved program at run-time. In this paper author present the idea to express opposite language elements by using recursive aspects.

Research paper thumbnail of The evolution of automated component-based software development tools: From structural synthesis of programs to behavioral types

2017 International Conference on Information Science and Communications Technologies (ICISCT)

Research paper thumbnail of Wiki-Based Stochastic Programming and Statistical Modeling System for the Cloud

International Journal of Advanced Computer Science and Applications

Scientific software is a special type of software because its quality has a huge impact on the qu... more Scientific software is a special type of software because its quality has a huge impact on the quality of scientific conclusions and scientific progress. However, it is hard to ensure required quality of the software because of the misunderstandings between the scientists and the software engineers. In this paper, we present a system for improving the quality of scientific software using elements of wikinomics and cloud computing and its implementation details. The system enables scientists to collaborate and make direct evolution of the models, algorithms, and programs. WikiSPSM expands the limits of mathematical software.

Research paper thumbnail of Comparative analysis of functional and object-oriented programming

2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), 2016

Research paper thumbnail of Software Component Conceptualization Using Clustering Method