Vaidas Giedrimas - Academia.edu (original) (raw)
Papers by Vaidas Giedrimas
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.
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.
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...
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.
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.
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.
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.
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.
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...
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.
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.
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...
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.
Studies in Computational Intelligence
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.
2017 International Conference on Information Science and Communications Technologies (ICISCT)
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.
2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), 2016
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.
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.
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...
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.
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.
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.
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.
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.
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...
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.
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.
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...
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.
Studies in Computational Intelligence
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.
2017 International Conference on Information Science and Communications Technologies (ICISCT)
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.
2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), 2016