-
Distributed Software Evolution: a Survey
Authors:
Mohammad Reza Besharati
Abstract:
Distribution can be a feature of the software evolution process. In other words, temporally and spatially distributed teams and organizations can develop and work on a software application. The simplest case is to outsource production and employ workforce at distributed sites so that multiple distributed teams can work on a project within a parallel framework. If this distribution is global, it wi…
▽ More
Distribution can be a feature of the software evolution process. In other words, temporally and spatially distributed teams and organizations can develop and work on a software application. The simplest case is to outsource production and employ workforce at distributed sites so that multiple distributed teams can work on a project within a parallel framework. If this distribution is global, it will be called the global software evolution or development. A higher level of distribution is defined as decentralization and decentralized software evolution, which means that software development can be independent of the initial provider. It also means that software execution is independent of the initial provider and the initial system so that the software application can easily be reused in different and new projects. However, the high level architecture is managed within a practically centralized framework in the decentralized software evolution. Most of the large scale open-source projects are exemplars of this level. In terms of distribution, there is a higher level of decentralized software evolution called "distributed cognition and leadership". At this level of distribution, all system levels evolve within a distributed framework, and there are no centralized points in the project network and its evolution process. Some open-source software applications are the exemplars of this last level. Not only is the distributed software evolution faced with certain challenges and opportunities to reach its goals, but it has also caused some challenges and opportunities in other fields. This paper conducts a general review of the distributed software evolution. For this purpose, the paper first addresses the importance of the distributed software evolution, and then introduces its noteworthy paradigms.
△ Less
Submitted 28 April, 2022;
originally announced April 2022.
-
Stateless and Rule-Based Verification For Compliance Checking Applications
Authors:
Mohammad Reza Besharati,
Mohammad Izadi,
Ehsaneddin Asgari
Abstract:
Underlying computational model has an important role in any computation. The state and transition (such as in automata) and rule and value (such as in Lisp and logic programming) are two comparable and counterpart computational models. Both of deductive and model checking verification techniques are relying on a notion of state and as a result, their underlying computational models are state depen…
▽ More
Underlying computational model has an important role in any computation. The state and transition (such as in automata) and rule and value (such as in Lisp and logic programming) are two comparable and counterpart computational models. Both of deductive and model checking verification techniques are relying on a notion of state and as a result, their underlying computational models are state dependent. Some verification problems (such as compliance checking by which an under compliance system is verified against some regulations and rules) have not a strong notion of state nor transition. Behalf of it, these systems have a strong notion of value symbols and declarative rules defined on them. SARV (Stateless And Rule-Based Verification) is a verification framework that designed to simplify the overall process of verification for stateless and rule-based verification problems (e.g. compliance checking). In this paper, a formal logic-based framework for creating intelligent compliance checking systems is presented. We define and introduce this framework, report a case study and present results of an experiment on it. The case study is about protocol compliance checking for smart cities. Using this solution, a Rescue Scenario use case and its compliance checking are sketched and modeled. An automation engine for and a compliance solution with SARV are introduced. Based on 300 data experiments, the SARV-based compliance solution outperforms famous machine learning methods on a 3125-records software quality dataset.
△ Less
Submitted 28 April, 2022; v1 submitted 14 April, 2022;
originally announced April 2022.
-
Assessing and Supplying the Health of Videos Games via Formal Semantics
Authors:
Mohammad Reza Besharati,
Mohammad Izadi
Abstract:
Video games, just like any other media have both explicit and implicit messages, and they can have impact on physical and mental health of the users. These impacts can be positive or negative. The impacts, the implications and the meanings which exist in a game can be very widespread, multilayered and complicated. To investigate and guarantee the health of these video games, it is necessary to be…
▽ More
Video games, just like any other media have both explicit and implicit messages, and they can have impact on physical and mental health of the users. These impacts can be positive or negative. The impacts, the implications and the meanings which exist in a game can be very widespread, multilayered and complicated. To investigate and guarantee the health of these video games, it is necessary to be able to estimate, assess and determine the implications of video games (from different perspectives). A common approach for studying complicated and multilayered phenomenon is formal semantics. Formal and rigorous methods can help in assessment and supplying the health of video games. In this article, an organizing for this assessment is proposed which is based on formal and rigorous methods and it considers various beneficiaries concerns. Moreover, a technological solution is presented which is based on system compliance to meanings, model checking methods and logical solution. The proposed organizing has several features such as: agility, flexibility, scalability, repeatability of reviews, transparency, adaptation, available details for reviews, assessing various layers and implicit and explicit implications of system of the game, avoiding subjectivity or individual skills, relying on rules and regulations, ability to plan for beneficiaries because of its transparency and employment for specialists.
△ Less
Submitted 10 April, 2021;
originally announced April 2021.
-
SELM: Software Engineering of Machine Learning Models
Authors:
Nafiseh Jafari,
Mohammad Reza Besharati,
Mohammad Izadi,
Maryam Hourali
Abstract:
One of the pillars of any machine learning model is its concepts. Using software engineering, we can engineer these concepts and then develop and expand them. In this article, we present a SELM framework for Software Engineering of machine Learning Models. We then evaluate this framework through a case study. Using the SELM framework, we can improve a machine learning process efficiency and provid…
▽ More
One of the pillars of any machine learning model is its concepts. Using software engineering, we can engineer these concepts and then develop and expand them. In this article, we present a SELM framework for Software Engineering of machine Learning Models. We then evaluate this framework through a case study. Using the SELM framework, we can improve a machine learning process efficiency and provide more accuracy in learning with less processing hardware resources and a smaller training dataset. This issue highlights the importance of an interdisciplinary approach to machine learning. Therefore, in this article, we have provided interdisciplinary teams' proposals for machine learning.
△ Less
Submitted 20 March, 2021;
originally announced March 2021.
-
Modeling of Resource Allocation Mechanisms in Distributed Computing Systems using Petri Nets and Stochastic Activity Networks (SAN): a Review and Reo-based Suggestion
Authors:
Mohammad Reza Besharati,
Ali Sepehri Khameneh
Abstract:
Resource allocation is crucial in the distributed systems. It is a key step in designing the mechanisms of systems for determining the resource allocation mechanism, it is important for obtaining the desired efficiency in the system, plus it is vital for predicting and preventing Deadlocks. Various models of Petri Net (Stochastic PN, Colored PN, Generalized PN, etc.) are used for modeling, simulat…
▽ More
Resource allocation is crucial in the distributed systems. It is a key step in designing the mechanisms of systems for determining the resource allocation mechanism, it is important for obtaining the desired efficiency in the system, plus it is vital for predicting and preventing Deadlocks. Various models of Petri Net (Stochastic PN, Colored PN, Generalized PN, etc.) are used for modeling, simulation, execution, and solving the problems of resource allocation. SAN models are used for modeling the problems pertinent to resource allocation. First, we shall address the basic concepts pertinent to these models and the resource allocation problem (introduction chapter), then, some applications of the Petri Net and SAN models in the distributed computational systems or systems based on them shall be studied. Finally, the issues and findings will be concluded.
△ Less
Submitted 12 March, 2021;
originally announced March 2021.
-
Langar: An Approach to Evaluate Reo Programming Language
Authors:
Mohammad Reza Besharati,
Mohammad Izadi
Abstract:
Reo is a formal coordination language. In order to assess and evaluate its capabilities, we need a multi-perspective Language Evaluation Framework. Langar (Language Analysis for Reo) is a framework aimed to provide such an evaluation method. In this paper, we introduce Langar. Based on a review on various language evaluation methods, a tool-kit for useful evaluation techniques are provided. After…
▽ More
Reo is a formal coordination language. In order to assess and evaluate its capabilities, we need a multi-perspective Language Evaluation Framework. Langar (Language Analysis for Reo) is a framework aimed to provide such an evaluation method. In this paper, we introduce Langar. Based on a review on various language evaluation methods, a tool-kit for useful evaluation techniques are provided. After Reo Evaluation, this method and tool-kit also could be used for another programming, computational and even natural languages. Furthermore, two suggestions for some future efforts and directions are provided for software engineering and software methodology communities.
△ Less
Submitted 8 March, 2021;
originally announced March 2021.
-
A Reo Based Solution for Engineering the Coordination Protocols for Smart Cities
Authors:
Mohammad Reza Besharati,
Mohammad Izadi
Abstract:
Smart Cities, with their problems and challenges, is an emerging smart paradigm. To achieve better quality and usability levels, we need engineering solutions to support smart cities' soft-layer development. Statics, dynamics and generative semantics are involved, but segregating Coordination Protocols from the other semantics could act as a complexity management strategy to tackle the inherent co…
▽ More
Smart Cities, with their problems and challenges, is an emerging smart paradigm. To achieve better quality and usability levels, we need engineering solutions to support smart cities' soft-layer development. Statics, dynamics and generative semantics are involved, but segregating Coordination Protocols from the other semantics could act as a complexity management strategy to tackle the inherent complexity of smart city systems. Here we demonstrate how we could engineer the protocols layer of a smart city by using a Reo-Based solution.
△ Less
Submitted 29 April, 2021; v1 submitted 17 December, 2020;
originally announced December 2020.
-
KARB Solution: Compliance to Quality by Rule Based Benchmarking
Authors:
Mohammad Reza Besharati,
Mohammad Izadi
Abstract:
Instead of proofs or logical evaluations, compliance assessment could be done by benchmarking. Benchmarks, in their nature, are applied. So a set of benchmarks could shape an applied solution for compliance assessment. In this paper, we introduce the KARB solution: Kee** away compliance Anomalies by Rule-based Benchmarking. By rule-based benchmarking, we mean evaluation of under-compliance-syste…
▽ More
Instead of proofs or logical evaluations, compliance assessment could be done by benchmarking. Benchmarks, in their nature, are applied. So a set of benchmarks could shape an applied solution for compliance assessment. In this paper, we introduce the KARB solution: Kee** away compliance Anomalies by Rule-based Benchmarking. By rule-based benchmarking, we mean evaluation of under-compliance-system by its symbolic specification and by using a set of symbolic rules (on behalf of semantic logic of evaluation). In order to demonstrate and investigate the manner of KARB solution, we conducted a case study. The IR-QUMA study (Iranian Survey on Quality in Messenger Apps) is defined to evaluate the quality of some messenger apps. the results of evaluations suggest that the Hybrid Method of DD-KARB (with combination of semantics-awareness and data-drivenness) is more effective than solo-methods and could compute a somehow good estimation for messenger-apps user quality scores. So DD-KARB could be considered as a method for quality benchmarking in this technical context.
△ Less
Submitted 31 January, 2021; v1 submitted 11 July, 2020;
originally announced July 2020.