Abstract
Software reliability refers to the ability of a system to perform its intended function under specified conditions for a specified period of time. The first critical step in the software reliability testing process is to create a Software Operational Profile (SOP). Several methodologies for creating SOP have been proposed. Nonetheless, nearly all the proposed studies have neglected the uniqueness of the new software paradigms, despite the fact that these are generally distinguished by their own concepts and methodologies. One of these software paradigms is multi-agent systems. Rather than using a generic one, it would be more useful to propose a specific methodology for creating SOP. In this paper, we propose a methodology for developing Operational Profile for specific kinds of multi-agent systems (so-called normative multi-agent systems). A detailed case study is used to demonstrate this methodology.
Introduction
Technological advances over the years have made software ubiquitous and more complex. Ensuring the quality of such software is becoming more and more important. Software quality is generally modeled by a group of characteristics such as reliability, maintainability, availability, modifiability, performance, security, usability, and testability. Among these characteristics, reliability is one of the most important quality characteristics. Software reliability refers to the probability that a system will perform its intended function under specified conditions for a specified period of time [1]. Several studies have also been conducted on the development, management, and measurement of software reliability [2, 3]. Determining the Software Operational Profile (SOP) is important for ensuring software reliability because it’s the first step in measuring software reliability. A SOP corresponds to a quantitative description of how the system is used from the user’s perspective, presenting a set of system operational scenarios and their associated probabilities [4, 5]. The SOP improves test productivity, reliability, and speed by efficiently allocating resources in terms of utilization and importance [6, 7]. On the other hand, multi-agent systems are relatively recent software paradigms that try to incorporate artificial intelligence to ensure the autonomy of systems. Like all software paradigms, multi-agent systems are characterized by inherent specificities that require specific development methods and methodologies. Several works, in particular, have been proposed to investigate testing aspects of multi-agent systems [8, 9, 10]. However, testing the reliability of such systems remains unaddressed. In order to develop a basic support for testing the reliability of normative multi-agent systems (NorMAS), we propose, in this paper, Operational Profile for Normative Multi-Agent Systems (OP4NorMAS), a new methodology to develop operational profile for such systems. This work is an extension of our previous work [11].
The rest of this paper is organized as follows: Section 2 presents a review of the literature relevant to developing software operational profiles. Section 3 describes the detailed development process for the OP4NorMAS. Section 4 illustrates the proposed methodology using a detailed case study. Section 5 draws some conclusions and points out future directions.
Literature review
Several studies on SOP development can be found in the literature. Musa introduced SOP in [4, 5]. The SOP development process includes five steps: customer profile, user profile, system mode profile, functional profile, and operational profile. He demonstrated his approach with a case study of a telecommunications switching system. [12] shows how to create a behavioral profile by decomposing operational profile into its two components: a configuration profile and a usage profile. This paper includes an example of a project (AT&T Private Branch Exchange) that first used this method. This approach works best when the customers, applications, and configurations of the product are diverse and complex.
[13] describes a structured way to develop an operational profile for interactive users and gives examples. It also demonstrates the use of a test case selection tool that facilitates the tester’s task by using the information obtained during the development of the operational profile as input. Another study proposed an improved methodology to generate more accurate operational profiles that truly represent the different usage patterns of customers [14]. Clustering analysis supports improved methods for identifying customer groups with similar characteristics. The operational profile model has been extended in [15]. In addition to the operational profile, the extended version consists of a process profile, a structure profile, and a data profile. A process profile describes the processes and frequency that occur in a typical user application. A structural profile is the system structure on which an application runs. The application input values from one or more users represent a data profile.
Development of systematic operational profiles for software components is presented in [16]. This method uses both intended usage assumptions and usage data to discover a usage structure, usage distribution, and parameter characteristics. In [17], software previously exposed to the company’s normal planned test cycle is tested by the operational profile. A SOP is developed and test cases are allocated.
A multi-agent framework for automatically generating an operational profile for distributed systems is presented in [7]. The work also proposes a restructured metric for determining operational criticality. [18] proposes a framework for developing SOP-based test case allocation using fuzzy logic. This work presents two case studies that demonstrate the applicability of the proposed framework. Another method based on uniform design was proposed two years later to develop SOP [19]. A review of a SOP, its extension, implementation, and shortcomings is presented in [6], while [20] is devoted to collecting, analyzing, and classifying operational profiles that characterize the type and frequency of software inputs. [21] proposes a method for effective SOP development with some modifications to Musa’s approach. To make an efficient operational profile, usage and configuration profiles have been added to the existing model. If the configuration profile defines how the customer sets up the system, then the usage profile indicates that the users have unequal usage shares.
Recently, a novel study was published in [22] and considered using SOP as a resource for assuring and improving software quality from the user’s perspective. The study suggests a strategy for users to use the SOP to evaluate and adapt an existing test suite to rank the impact of the defects on software behavior. This helps with pricing defects. A behavior-driven development approach [23] is used as an information source for semi-automatic generation of the operational profile. The proposed approach was evaluated using the social networking software Diaspora, an open-source project.
From the above, we can conclude two main observations. First, despite the fact that the first works appeared thirty years ago, the field is still an active one, with new contributions being made [21, 22, 23]. Second, the evolution of software development paradigms was excluded from the proposed studies. In fact, each new software paradigm introduces its own concepts, methods, and methodologies. Obviously, these concepts will affect the entire software development process. In this paper, we will develop an operational profile for normative multi-agent systems (OP4NorMAS).
Proposed operational profile development methodology for normative multi-agent systems
The proposed methodology is shown in Fig. 1. It generates an operational profile (OP4NorMAS) from an initial operational profile (MAS-OP) and norms specified using the NorMAS-ML modeling language [24] by applying a set of proposed rules. The resulting OP4NorMAS will be used to generate NorMAS test cases and to add norm action probability as a new norm constraint to the NorMAS-ML specification.
We devote the following sub-sections to detailing this methodology.
Proposed operational profile development methodology.
The norms specification is the first element in our methodology. It’s a normative specification that contains the basic goals of the system, grouped by missions and assigned to various agents. These missions are performed according to norms based on deontic concepts that allow us to describe the behavioral constraints of system agents, such as: obligation, permission, recommendation, and prohibition. Application or non-application of norms by system agents may result in rewards or penalties. Agents will be penalized for performing prohibited acts or ignoring their obligations. In recommended acts, agents are rewarded for applying the norm, but violating the norm has no consequences. With permissions, there are no consequences. Table 1 gives an example of norm specification.
An example of norms specification
An example of norms specification
Thanks to NorMAS-ML [24], normative multi-agent systems and their properties can be modelled using a structural diagram called a “norm diagram”. In fact, the norm diagram includes the following new graphic elements:
The norm is represented by a rectangle with an angle in the upper right and lower left corners (see Fig. 2). The norm superior compartment includes the norm class name and the deontic concept associated with that norm, using one of the following stereotypes:
Norm representation [24].
Figure 3 shows their graphical representation. The organization representation is a combination of a rectangle and an ellipse with three compartments: the top compartment contains the instance name; the middle contains goals and beliefs; and the bottom compartment contains plans and actions. The agent role representation is a rectangle with downward curved edges and three compartments: the top contains instance name; the middle contains goals and beliefs; and the bottom contains actions and communication protocol details.
Representation of organization and agent role classes [24].
Is represented as simple line with a filled square in its end point (see Fig. 4). It indicates the entity restricted by a norm (environment class, organization class, agent role class, or agent class).
Restrict relationship representation [24].
It indicates the norm sanction and is used between norm classes. A sanction relationship is represented as a simple line with a filled (punishment) or empty (reward) pentagon at its end point. The relationship is shown in Fig. 5.
Sanction relationship representation [24].
For more details, you can refer to the work [24] to learn more about the other concepts and relationships such as Context, Ownership, Inhabit, and Play.
A proposed methodology [11] (see Fig. 6) for developing an initial operational profile of a multiagent system is summarized in the following five steps: Identify the MAS customer role profile; define the user role profile for the MAS; define the MAS mode profile; determine the MAS goal profile; and determine the initial MAS operational profile.
Initial operational profile for multi-agent system [11].
A customer is an actor or a group of actors who acquires the system. A customer role group is defined by a set of customer roles that use the system in the same way. A set of customer role groups and their associated probabilities define a MAS customer role profile.
Identifying user role profile
A user can be an agent or a group of agents who use the system. A user role group is a set of user roles that use the system in the same way. The MAS user role profile is the user role group that uses the system differently associated with their occurrence probabilities.
Defining mode profile
It is defined as a set of goals grouped together to determine the execution environment. An operational profile must be determined for each system mode.
Determining goal profile
A MAS goal profile is a set of goals with their occurrence probabilities. To create a MAS goal profile, you need to find an initial goal list that describes the system’s main goal as well as environment variables that may affect system goals during execution. It then combines the initial goal list with environmental variables to determine the final goal list.
Determining initial operational profile
The initial MAS-OP is a set of operations with their respective occurrence probabilities. Each goal of each MAS mode is decomposed into a list of sub-goals, which in turn is decomposed into a list of actions (operations). The overall probability of each action is calculated by multiplying the initial action probability by the probability of its goal.
Generating operational profile for normative multi-agent systems
As we explained previously in Sub-section 3.2, MAS-OP specifies the occurrence probability of each action. Hence, it is important to recalculate these probabilities according to the norm’s specification presented in Sub-section 3.1. Compared to traditional systems, norms enhance the flexibility of the system by providing the possibility of executing or ignoring some actions. Of course, applying norms or not implies the execution of consequences. Consequently, the occurrence probabilities of normative actions should be recalculated by introducing their consequences because, in each case, we can execute an action or its consequence. For this goal, we propose the following rules to calculate the occurrence probabilities of normative actions. This step result is the OP4NorMAS.
Rule 1
If a norm is an obligation or prohibition, the overall occurrence probability (OOP) of each normative action (NA) must be multiplied by the rate of agents applying the norm (AAN Rate) to obtain the new occurrence probability (NOP) of this action (Eq. (1)). In the rest of the cases (i.e., when the agent ignores the norm), the system will execute the consequence of the norm (NC). Consequently, we calculate the occurrence probability of the consequence as the result of the overall occurrence probability of the normative action multiplied by the rate of agents ignoring the norm (AIN Rate) (Eq. 2). For example, if we consider that an obligated action will occur with an overall probability equal to OOP (OOP
NOP(NA) = OOP * AAN_Rate
If a norm is a recommendation, the overall occurrence probability (OOP) of each normative action (NA) must be multiplied by the rate of agents applying the norm (AAN Rate) to obtain the new probability (NOP) of this action (Eq. (1)). Knowing that a recommended action must be rewarded, the consequence will be executed with the same occurrence probability as the action (Eq. (3)). For example, if we consider that a recommended action will be executed with an occurrence probability equal to OOP (OOP
NOP(NC) = NOP(NA)
The permission norms specify actions that have no consequence. In this case, the agent can choose to execute the normative action or not. Consequently, the overall occurrence probability of this action will not be changed.
After applying Rules 1, 2, and 3, the probabilities of the resulting OP4NorMAS actions are modified, which modifies the global probability of each system mode. Therefore, the generated OP4NorMAS needs to be normalized.
Case study
To illustrate our approach, let us consider the same example of a NorMAS presented in [11] and illustrated in Fig. 7.
Norms specification of university system
The university system consists of two major sub-organizations: Course and Research. System agents are distributed between these two sub-organizations and are supervised by the university authorities (authority agents). All system agents are obliged, permitted, or recommended to satisfy their goals. For example, students are obliged to satisfy their goals (guided_autonomous_practice, pass_evaluation, and respect_regulations) grouped by mission (Mission-S). The same agents are permitted to attend courses. Table 2 describes the different system norms.
Norms specification of university system
Norms specification of university system
University system [11].
Modeling of the norm and consequence N1 and C1.
Modeling of the norm and consequence N4 and C4.
Modeling of the norm and consequence N2 and C2.
Modeling of the norm and consequence N3, N5 and C3.
Modeling of the norm and consequence N6, N7 and C6.
Modeling of the norm and consequence N8 and C8.
User role profile of university system
User role profile of university system
Initial goal list of course mode
Initial goal list of research mode
Environment variables of university system
Goal profile of course mode
Goal profile of research mode
Initial operational profile of course mode: Goal 1, Goal 2, Goal 3, Goal 4 and Goal 5
Initial operational profile of course mode: Goal 6, Goal 7 and Goal 8
Final operational profile of course mode: Goal 1, Goal 2, Goal 3, Goal 4 and Goal 5
Final operational profile of course mode: Goal 6, Goal 7 and Goal 8
Normalized operational profile of course mode: Goal 1 and Goal 2
Normalized operational profile of course mode: Goal 4, Goal 5, Goal 6, Goal 7 and Goal 8
We define a set of eight norms for the university system. Among these norms we find: four norms are obligations (N1, N4, N6, and N8), two are recommendations (N2 and N3), and two are permissions (N5 and N7). Violation of these norms has six consequences (C1, C2, C3, C4, C6, and C8). The scenario for each norm is presented below.
N1 defines that the teacher agent role of the course sub-organization is obligated to satisfy the teach, evaluate, research, and respect_regulations goals, and assumes the consequence C1
The university organization and its two sub-organizations (course and research) are represented as organization classes, and the university environment is represented as an environment. The university organization belongs to the university environment through an inhabit relationship. The authority agent role (represented as an agent role class) belongs to the university organization and is an extension of the teacher and project leader agent roles. The course sub-organization consists of the agent roles of teacher and student, while the research sub-organization is made up of the agent roles of researcher and project leader. All agent roles have lists of beliefs, goals, and actions. Goals and beliefs are represented as attributes of the goal and belief types, respectively.
All norms are modeled using the norm diagram defined in NorMAS-ML [24]. They are defined in the context (context relationship) of the university organization and its two sub-organizations (course and research). N1 and N4 restrict, respectively, the teacher and student agent roles’ behaviors (restriction relationship) by stating an obligation to execute the actions (prepare_course, …, achieve_ guided_pract, …) associated with the teacher and student agent roles’ goals (teach, …, attend_courses, …). For example, the action prepare_course is represented as an attribute with the stereotype
Figures 10 and 11 show the modeling of the norms N2, N3, N5, C2 and C3. N2 and N3 restrict, respectively, the teacher and project leader agent roles’ behaviors by stating a recommendation for the execution of the action occupy_senior_position. N5 restricts the student agent role behavior by stating permission to execute the attend_course_presentation action. The authority agent role behavior is restricted by C2 and C3 which are sanctions (rewards) of N2 and N3 that indicates an obligation to increase salary if N2 and N3 are fulfilled.
N6, N7, N8, C6 and C8 are shown in Figs 12 and 13. N6 and N8 restrict, respectively, the researcher and project leader agent roles’ behaviors by stating an obligation to achieve their goals (research, …, propose_approach, …). For example, the goal of research is represented as an attribute with the stereotype
University system customer role profile
The university system does not use customer role profiles because there is no customer role type. Therefore, the probability that should be assigned to the customer role profile is 1.
University system user role profile
The university user role profile is shown in Table 3. There are four types of user agent roles: teacher agent, student agent, researcher agent, and project leader agent. We also assume that their occurrence probabilities are 0.23, 0.7, 0.06, and 0.01 respectively (see Table 3). In this case, the customer role group probability is 1, so we know that the user role group overall probability is the same as the user role group probability.
University system mode profile
We identify two modes in the university system: course and research. We assume that course mode uses 80% of the teacher agent role and 100% of the student agent role. The remaining percentage of teacher agent role (20%), along with 100% of researcher and project leader agent roles, are used in research mode. The overall probability of course mode is calculated by multiplying the occurrence probabilities of user role groups (Teacher agent, 0.23; and Student agent, 0.7) by the proportion of use (0.8; 1). Use the same formula to calculate the overall probability of research mode. The derived system mode profile is shown in Table 4.
University system goal profile
Initial goal list
We need to identify the initial goal list for each system mode identified in the previous step. The initial goal lists for both course and research modes are shown in Tables 5 and 6, respectively.
Environmental variables
Table 7 shows the environmental variables considered in this case study. The resource problem (NorMAS-RP) is considered as a variable related to the university system. For different agent roles in the system, we consider missing role variables (missing of student agent role, missing of project leader agent role, …).
Final goal list
It’s calculated by multiplying initial goal lists and environmental variables’ probabilities. The final result is the goal profiles shown in Tables 8 and 9 for both course and research system modes, respectively.
Initial operational profile of university system
In this final step, all university system goals are divided into sub-goals, which in turn are divided into actions (operations). For example, a teaching scenario (Goal 1) contains four actions: Prepare_course, in which the teacher agent works on the presentation; Present_course demonstrating what a teacher agent should learn; Guided_practice occurs when a teacher agent does something similar to what is done during course presentations with students; and prepare_autonomous_practice occurs when the teacher agent prepares a personal work and allows the student to reinvest what he has learned during the two previous steps.
Due to space limitations, the rest of this paper will only detail the course mode of the university system. The initial operational profile of course mode is shown in Tables 10 and 11.
Final operational profile for university system
From the initial operational profile of the university system generated in Table 9, the occurrence probability of each action must be recalculated according to the norm type by applying the rules defined in Section 3.3 by Eqs (1)–(3), respectively.
In the case of obligation or prohibition, Rule 1 is applied. For example, if the action present_course is an obligation, then if we consider that 90% (AAN Rate) of teacher agent roles will present their courses under normal conditions while the remaining 10% (AIN Rate) are absent, the OOP, which is 0.0779688, will be multiplied by 90% to obtain the probability of applying this obligation (Eq. (1)) and will be multiplied by 10% to obtain the probability in case this obligation is ignored (Eq. (2)). The remaining 10% of teacher agent roles should assume the consequence of ignoring the action.
In the case of recommendation, Rule 2 is applied. For example, if we consider that 30% of teacher agent roles will apply the recommended action Occupy_senior_position under normal conditions, the OOP, which is 0.087516, will be multiplied by 30% (AAN Rate) to obtain the normative action overall probability (Eq. (1)). The same 30% of teacher agent roles must be rewarded by the authority agent role with the same probability (Eq. (3)).
When the normative action is a permission, Rule 3 is applied. The overall occurrence probability of this action remains unchanged. For example, the OOP of the permitted action attend_cours_presentation applied by student agent roles, which is 0.086632, will not be changed.
The resulting operational profile (OP4NorMAS) for course mode in the university system is shown in Tables 12 and 13. Course mode probabilities will change according to the changes we make by applying Rules 1, 2 and 3. For example, the probability of applying the Occupy_senior_position action is reduced, reducing the overall probability of the mode from 0.884 to 0.849. Therefore, we need to normalize OP4NorMAS. The normalized results are shown in Tables 14 and 15.
Conclusion
In order to test the reliability of normative multi-agent systems (NorMAS), this paper introduces a methodology for developing an operational profile (OP4NorMAS) for this type of system. The proposed methodology is based on a multi-agent systems operational profile (MAS-OP) [11], and the specification of norms using the NorMAS-ML language [24]. In addition, this methodology is illustrated through a concrete case study of a NorMAS called the University System. This methodology takes into account the specificities of NorMAS, like using role and goal concepts. Furthermore, it distinguishes between the agent and the system levels. In addition, the proposed methodology helps generate the operational profile using the norms identified in the specification phase of the software development.
As future work, we plan to extend the proposed methodology to NorMAS reliability testing. In fact, the generated operational profile of NorMAS can be considered as a cornerstone for generating test cases.
Footnotes
Acknowledgments
This research work was supported by the General Direction of Scientific Research and Technological Development (DGRSDT) of the Algerian Higher Education and Scientific Research Ministry. We would like to thank the DGRSDT for its support in the achievement of this work.
Part of this work is done during an internship at GISMA University of Applied Sciences in Potsdam, Germany. We would thank this university for its support.
Author’s Bios
