Software testing is a critical and labor-intensive activity in software engineering. Much research has been
done to help automate test case generation. This research proposes a new approach to structural test case
generation. It uses a specialized genetic algorithm called Dynamic-radius Species-conserving Genetic
Algorithm (DSGA) to find a structurally complete set of test cases for the Triangle Classification algorithm.
DSGA is a Niche Genetic Algorithm (NGA) that uses a short-term memory structure to store optima. Each
individual of the NGA represents the inputs for a test case. The fitness function encourages the algorithm to
locate test cases that cover large areas of the structure of the program. A shared fitness encourages the
NGA to locate other areas of the structure. DSGA is a novel approach to structurally complete test case
generation
A Review of Agent-Oriented Development Methodologies and Programming Language...Waqas Tariq
Agents are software systems and can be associated with an entity, framework, architecture and even languages. They are piece of program codes that are able to autonomously complete tasks. Before developing an agent, methodology to be used in development should be clarified and based on the methodology, suitable programming language and framework should be selected. This paper reviews three agent development methodologies (Prometheus, Tropos, and MaSE) and six agent-oriented programming languages/frameworks (MetateM, IndiGolog, Brahms, GOAL, JIAC, and Agent Factory).
The objective of this paper is to provide an insight preview into various
agent oriented methodologies by using an enhanced comparison
framework based on criteria like process related criteria, steps and
techniques related criteria, steps and usability criteria, model related or
“concepts” related criteria, comparison regarding model related criteria
and comparison regarding supportive related criteria. The result also
constitutes inputs collected from the users of the agent oriented
methodologies through a questionnaire based survey.
Analysis of software cost estimation usingijfcstjournal
The growing application of software and resource constraints in software projects development need a
more accurate estimate of the cost and effort because of the importance in program planning, coordinated
scheduling and resource management including the number of programming's and software design using
tools and modern methods of modeling. Effectively control of investment for software development is
achieved by accurate cost estimation.The accurate Software Cost Estimation (SCE) is very difficult in the
early stages of software development because many of input parameters that are effective in software's
effort are very vague and uncertain in the early stages. SCE that is the basis of software projects
development planning is considered to be of high accuracy, because if the estimate is less than actual
values, confidence factor is reduce and this is means the possibility of failure in project. Conversely, if the
project is estimated at more than the actual value it would be the concept of unhelpful investment and
waste of resources. In the evaluation of software projects is commonly used deterministic method. But
software world is totally different from the linear variables and nowadays for performance and estimation
should be used nonlinear and non-probabilistic methods. In this paper, we have studied the SCE Using
Fuzzy Logic (FL) and we have compared it with COCOMO model. Results of investigations show that FL is
a performance model for SCE.
Multiagent Based Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Multiagent Based Software Engineering Methodology
The software industry has had significant progress
in recent years. The entire life of software includes two phases:
Production and Maintenance. Software maintenance cost is
increasingly growing and estimates showed that about 90%, if
software life cost is related to its maintenance phase. Extraction
and considering the factors affecting software maintenance cost
help to estimate the cost and reduce it by controlling the factors.
Cost estimation of maintenance phase is necessary to predict the
reliability, improve the productivity, project planning, controlling
and adaptability of the software. Though there are various models
to estimate the maintenance cost of traditional software like
COCOMO, SLIM, Function Point etc., but till now there is no
such model to estimate the maintenance cost using fourth
generation language environment. Software maintenance will
continue to exist in the fourth generation environment, as systems
will still be required to evolve. In this kind of situation there is
needed to develop a model to estimate the maintenance cost using
fourth generation environment. We propose a systematic
approach and development for software maintenance cost
estimation model using fourth generation language environment
on the basis of COCOMO II. This model is based on three
parameters: SMCE with Fourth Generation Language
Environment, ACT (Annual Change Traffic), Technical and NonTechnical
factors which affect the maintenance cost. The
favorable results closely matching and it can be achieved by using
model implementation.
A methodology to evaluate object oriented software systems using change requi...ijseajournal
It is a well known fact that software maintenance plays a major role and finds importance in software
development life cycle. As object
-
oriented programming has become the standard, it is very important to
understand th
e problems of maintaining object
-
oriented software systems. This paper aims at evaluating
object
-
oriented software system through change requirement traceability
–
based impact analysis
methodology
for non functional requirements using functional requirem
ents
. The major issues have been
related to change impact algorithms and inheritance of functionality.
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORKijseajournal
Most of the currently available students' portal frameworks are tightly-coupled frameworks. A recent
research done by the authors of this paper has discussed how to distribute the concepts of the traditional
students' portal framework and came out with a distributed interoperable framework. This paper realizes
the distributed interoperable students' portal framework by developing a prototype. This prototype is based
on Service Oriented Architecture (SOA). The prototype is tested using web service testing and compatibility
testing.
A Review of Agent-Oriented Development Methodologies and Programming Language...Waqas Tariq
Agents are software systems and can be associated with an entity, framework, architecture and even languages. They are piece of program codes that are able to autonomously complete tasks. Before developing an agent, methodology to be used in development should be clarified and based on the methodology, suitable programming language and framework should be selected. This paper reviews three agent development methodologies (Prometheus, Tropos, and MaSE) and six agent-oriented programming languages/frameworks (MetateM, IndiGolog, Brahms, GOAL, JIAC, and Agent Factory).
The objective of this paper is to provide an insight preview into various
agent oriented methodologies by using an enhanced comparison
framework based on criteria like process related criteria, steps and
techniques related criteria, steps and usability criteria, model related or
“concepts” related criteria, comparison regarding model related criteria
and comparison regarding supportive related criteria. The result also
constitutes inputs collected from the users of the agent oriented
methodologies through a questionnaire based survey.
Analysis of software cost estimation usingijfcstjournal
The growing application of software and resource constraints in software projects development need a
more accurate estimate of the cost and effort because of the importance in program planning, coordinated
scheduling and resource management including the number of programming's and software design using
tools and modern methods of modeling. Effectively control of investment for software development is
achieved by accurate cost estimation.The accurate Software Cost Estimation (SCE) is very difficult in the
early stages of software development because many of input parameters that are effective in software's
effort are very vague and uncertain in the early stages. SCE that is the basis of software projects
development planning is considered to be of high accuracy, because if the estimate is less than actual
values, confidence factor is reduce and this is means the possibility of failure in project. Conversely, if the
project is estimated at more than the actual value it would be the concept of unhelpful investment and
waste of resources. In the evaluation of software projects is commonly used deterministic method. But
software world is totally different from the linear variables and nowadays for performance and estimation
should be used nonlinear and non-probabilistic methods. In this paper, we have studied the SCE Using
Fuzzy Logic (FL) and we have compared it with COCOMO model. Results of investigations show that FL is
a performance model for SCE.
Multiagent Based Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Multiagent Based Software Engineering Methodology
The software industry has had significant progress
in recent years. The entire life of software includes two phases:
Production and Maintenance. Software maintenance cost is
increasingly growing and estimates showed that about 90%, if
software life cost is related to its maintenance phase. Extraction
and considering the factors affecting software maintenance cost
help to estimate the cost and reduce it by controlling the factors.
Cost estimation of maintenance phase is necessary to predict the
reliability, improve the productivity, project planning, controlling
and adaptability of the software. Though there are various models
to estimate the maintenance cost of traditional software like
COCOMO, SLIM, Function Point etc., but till now there is no
such model to estimate the maintenance cost using fourth
generation language environment. Software maintenance will
continue to exist in the fourth generation environment, as systems
will still be required to evolve. In this kind of situation there is
needed to develop a model to estimate the maintenance cost using
fourth generation environment. We propose a systematic
approach and development for software maintenance cost
estimation model using fourth generation language environment
on the basis of COCOMO II. This model is based on three
parameters: SMCE with Fourth Generation Language
Environment, ACT (Annual Change Traffic), Technical and NonTechnical
factors which affect the maintenance cost. The
favorable results closely matching and it can be achieved by using
model implementation.
A methodology to evaluate object oriented software systems using change requi...ijseajournal
It is a well known fact that software maintenance plays a major role and finds importance in software
development life cycle. As object
-
oriented programming has become the standard, it is very important to
understand th
e problems of maintaining object
-
oriented software systems. This paper aims at evaluating
object
-
oriented software system through change requirement traceability
–
based impact analysis
methodology
for non functional requirements using functional requirem
ents
. The major issues have been
related to change impact algorithms and inheritance of functionality.
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORKijseajournal
Most of the currently available students' portal frameworks are tightly-coupled frameworks. A recent
research done by the authors of this paper has discussed how to distribute the concepts of the traditional
students' portal framework and came out with a distributed interoperable framework. This paper realizes
the distributed interoperable students' portal framework by developing a prototype. This prototype is based
on Service Oriented Architecture (SOA). The prototype is tested using web service testing and compatibility
testing.
ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...ijseajournal
Software development process presents various types of models with their corresponding phases required to be accordingly followed in delivery of quality products and projects. Despite the various expertise and skills of systems analysts, designers, and programmers, systems failure is inevitable when a suitable development process model is not followed. This paper focuses on the Iterative and Incremental Development (IID)model and justified its role in the analysis and design software systems. The paper adopted the qualitative research approach that justified and harnessed the relevance of IID in the context of systems analysis and design using the Vocational
Career Information System (VCIS) as a case study. The paper viewed the IID as a change-driven software development process model. The results showed some system specification, functional specification of system and design specifications that can be used in implementing the VCIS using the IID model. Thus, the paper concluded that in systems analysis and design, it is imperative to consider a suitable development process that reflects the engineering mind-set, with heavy emphasis on good analysis and design for quality assurance.
Integrating profiling into mde compilersijseajournal
Scientific computation requires more and more performance in its algorithms. New massively parallel
architectures suit well to these algorithms. They are known for offering high performance and power
efficiency. Unfortunately, as parallel programming for these architectures requires a complex distribution
of tasks and data, developers find difficult to implement their applications effectively. Although approaches
based on source-to-source intends to provide a low learning curve for parallel programming and take
advantage of architecture features to create optimized applications, programming remains difficult for
neophytes. This work aims at improving performance by returning to the high-level models, specific
execution data from a profiling tool enhanced by smart advices computed by an analysis engine. In order to
keep the link between execution and model, the process is based on a traceability mechanism. Once the
model is automatically annotated, it can be re-factored aiming better performances on the re-generated
code. Hence, this work allows keeping coherence between model and code without forgetting to harness the
power of parallel architectures. To illustrate and clarify key points of this approach, we provide an
experimental example in GPUs context. The example uses a transformation chain from UML-MARTE
models to OpenCL code.
Safety-driven Software Product Line architectures Design, A Survey PaperEditor IJCATR
Software architecture design is an important step of software development. Currently, there are various design methods
available and each is focusing on certain perspective of architecture design. Especially, quality-based methods have received a lot of
attentions and have been well developed for single system architecture design. However, the use of quality-based design methods is
limited in software product line (SPL) because of the complexity and variabilities existing in SPL architecture. With the increasing
attention to software safety, improving software safety has already become a more important issue, especially for safety-critical
systems. This study aims at surveying existing research on Software Product Line Architecture (SPLA) design based on quality
attributes, and to give an overview of the intersection of the areas of software product line architecture design and Safety Driven
Design in order to classifying existing work, and discover open issues for further research. Also this study investigates safety analysis
at the architectural level, and Safety-based Software Product Line Architecture Design (SSPLAD) approaches. Safety-driven software
product line architecture design seems to be a ‘‘discussion” topic. The study shows that there are a large number of SPLA design
methods. However, the use of safety-based design methods is limited in software product lines (SPL) due to the variability property
that can potentially result in a large number of possible systems and because of the complexity existing in safety attribute itself.
AN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTSijseajournal
One of the significantaspects of software quality is usability. It is one of the characteristics that judge by
the success or failure of software applications. The most important risk facing the software applications is
usability which may lead to the existence of a gap between users and systems. This may lead to system
failure because of Poor design. This is due to the design is not based on the desires and requirements of the
customer. To overcome these problems, this paper proposed an approach to improve usability of software
applications to meet the needs of the customer and interacts with the user easily with an efficient and
effective manner.The proposed approach is based prototyping technique due to itssimplicity and it does not
require additional costs to elicit precise and complete requirement and design.
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...ijseajournal
Analyzing the reliability of a software can be done at various phases during the development of
engineering software. Software reliability growth models (SRGMs) assess, predict, and controlthe software
reliability based on data obtained from testing phase.This paper gives a literaturereview of the first and
wellknownJelinski and Moranda(J-M) (1972)SRGM.Also a modification to Jelinski and Morandamodel is
given, Jelinski and Moranda and Schick and Wolverton (S-W) (1978)SRGMsare two special cases of our
new suggested general SRGM. Our proposed general SRGMalong with our Survey will open doors for
much more useful researches to be done in the field of reliability modeling.
‘O’ Model for Component-Based Software Development Processijceronline
The technology advancement has forced the user to become more dependent on information technology, and so on software. Software provides the platform for implementation of information technology. Component Based Software Engineering (CBSE) is adopted by software community to counter challenges thrown by fast growing demand of heavy and complex software systems. One of the essential reasons behind adopting CBSE for software development is the fast development of complicated software systems within well-defined boundaries of time and budget. CBSE provides the mechanical facilities by assembling already existing reusable components out of autonomously developed pieces of the software. The paper proposes a novel CBSE model named as O model, keeping an eye on the available CBSE lifecycle.
Today in era of software industry there is no perfect software framework available for
analysis and software development. Currently there are enormous number of software development
process exists which can be implemented to stabilize the process of developing a software system. But no
perfect system is recognized till yet which can help software developers for opting of best software
development process. This paper present the framework of skillful system combined with Likert scale. With
the help of Likert scale we define a rule based model and delegate some mass score to every process and
develop one tool name as MuxSet which will help the software developers to select an appropriate
development process that may enhance the probability of system success.
An employing a multistage fuzzy architecture for usability of open source sof...ijcsit
The Demand for Open Source Software (OSS) is increasing day by day. However, its end users still face
challenges using such software. Therefore, this study is conducted to propose a fuzzy usability model to be
an approach for evaluating the usability of the open source software. In order to propose such model, six common usability characteristics have been considered, namely: Learnability, understandability, attractiveness, operability, efficiency, and memorability. Some of these characteristics are related to the open source software's features (Learnability, usability, attractiveness, operability); and the rest are related to the end users. Finally, the Matalab Simulink software (Fuzzy Logic Toolbox) has been employed to simulate and to validate the proposed approach model.
Quality aware approach for engineering self-adaptive software systemscsandit
Self-adaptivity allows software systems to autonomously adjust their behavior during run-time to reduce
the cost complexities caused by manual maintenance. In this paper, an approach for building an external
adaptation engine for self-adaptive software systems is proposed. In order to improve the quality of selfadaptive
software systems, this research addresses two challenges in self-adaptive software systems. The
first challenge is managing the complexity of the adaptation space efficiently and the second is handling the
run-time uncertainty that hinders the adaptation process. This research utilizes Case-based Reasoning as
an adaptation engine along with utility functions for realizing the managed system’s requirements and
handling uncertainty.
ADAPTIVE CONFIGURATION META-MODEL OF A GUIDANCE PROCESSijcsit
The current technology tend leads us to recognize the need for adaptive guidance process for all process of
software development. The new needs generated by the mobility context for software development led these
guidance processes to be adapted. In order to improve the performance of the deployed software
development, it is useful to manage the configuration of its evolving aspects. This paper deals with the
configuration management of guidance process or its ability to be adapted to specific development
contexts. The proposed adaptive configuration Meta-model is worked out on the basis of a Y description
for adaptive guidance process. This description focuses on three dimensions defined by the
material/software platform, the adaptation form and provided guidance service. Each dimension considers
several factors to develop a coherent configuration strategy and provide automatically the appropriate
guidance process to a current development context.
Machine Learning approaches are good in solving problems that have less information. In most cases, the
software domain problems characterize as a process of learning that depend on the various circumstances
and changes accordingly. A predictive model is constructed by using machine learning approaches and
classified them into defective and non-defective modules. Machine learning techniques help developers to
retrieve useful information after the classification and enable them to analyse data from different
perspectives. Machine learning techniques are proven to be useful in terms of software bug prediction. This
study used public available data sets of software modules and provides comparative performance analysis
of different machine learning techniques for software bug prediction. Results showed most of the machine
learning methods performed well on software bug datasets.
An Elite Model for COTS Component Selection ProcessIJEACS
Component-based software development (CBD) promises development of high-quality trustworthy software systems within specified budget and deadline. The selection of the most appropriate component based on specific requirement plays a vital role for high-quality software product. Multi-Agent software (MAS) engineering approach played a crucial role for selection of the most appropriate component based on a specific requirement in a distributed environment. In this paper, multi agent technique is used for component selection. A semi-automated solution to COTS component selection is proposed. It is evident from the result that (MAS) plays an essential role and is suitable for component selection in a distributed environment keeping in view of the system design and testing strategies.
Computer literacy and competitive pressures among end users is increasing day by day due to whichthe
need for End-User Programming in software packages is also increasing for rapid, flexible, and user
driven information processing solutions. End User Development out-sources development effort to the end
user by enabling softwaredevelopers to create information systems that can even be adapted by technically
inexperienced endusers and hence are in great demand. If end user decides to pay the price and add
significant programmability to their system, there are additional costs to consider before end user can start
to enjoy the payoff. It is important to calculate accurateand early estimation of software size forcalculating
effort and cost estimation of software systems incorporating EUD features. With the evolution of object
orientation, use cases emerged as a dominant method for structuring requirements. Use cases were
integrated into the Unified Modeling Language (UML) and Unified Process and became the standard for
Software Engineering requirements modelling. The Use Case Point (UCP)methodestimates project size by
assigning points to use cases in the same way that Function Point Analysis (FPA) assigns points to
functions. This paper discusses the concept of end-user programming and Advancement of UCP by adding
end-user development/programming as an additional Effort Estimation Factor (EEF).
Agent-oriented software engineering is a promising new approach
to software engineering that uses the notion of an agent as the
primary entity of abstraction. The development of methodologies
for agent-oriented software engineering is an area that is currently
receiving much attention, there have been several agent-oriented
methodologies proposed recently and survey papers are starting to
appear. However the authors feel that there is still much work
necessary in this area; current methodologies can be improved
upon. This paper presents a new methodology, the Styx Agent
Methodology, which guides the development of collaborative
agent systems from the analysis phase through to system
implementation and maintenance. A distinguishing feature of
Styx is that it covers a wider range of software development lifecycle
activities than do other recently proposed agent-oriented
methodologies. The key areas covered by this methodology are
the specification of communication concepts, inter-agent
communication and each agent's behaviour activation—but it
does not address the development of application-specific parts of
a sys-tem. It will be supported by a software tool which is
currently in development.
Agent Assisted Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Agent Assisted Software Engineering Methodology.
ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...ijseajournal
Software development process presents various types of models with their corresponding phases required to be accordingly followed in delivery of quality products and projects. Despite the various expertise and skills of systems analysts, designers, and programmers, systems failure is inevitable when a suitable development process model is not followed. This paper focuses on the Iterative and Incremental Development (IID)model and justified its role in the analysis and design software systems. The paper adopted the qualitative research approach that justified and harnessed the relevance of IID in the context of systems analysis and design using the Vocational
Career Information System (VCIS) as a case study. The paper viewed the IID as a change-driven software development process model. The results showed some system specification, functional specification of system and design specifications that can be used in implementing the VCIS using the IID model. Thus, the paper concluded that in systems analysis and design, it is imperative to consider a suitable development process that reflects the engineering mind-set, with heavy emphasis on good analysis and design for quality assurance.
Integrating profiling into mde compilersijseajournal
Scientific computation requires more and more performance in its algorithms. New massively parallel
architectures suit well to these algorithms. They are known for offering high performance and power
efficiency. Unfortunately, as parallel programming for these architectures requires a complex distribution
of tasks and data, developers find difficult to implement their applications effectively. Although approaches
based on source-to-source intends to provide a low learning curve for parallel programming and take
advantage of architecture features to create optimized applications, programming remains difficult for
neophytes. This work aims at improving performance by returning to the high-level models, specific
execution data from a profiling tool enhanced by smart advices computed by an analysis engine. In order to
keep the link between execution and model, the process is based on a traceability mechanism. Once the
model is automatically annotated, it can be re-factored aiming better performances on the re-generated
code. Hence, this work allows keeping coherence between model and code without forgetting to harness the
power of parallel architectures. To illustrate and clarify key points of this approach, we provide an
experimental example in GPUs context. The example uses a transformation chain from UML-MARTE
models to OpenCL code.
Safety-driven Software Product Line architectures Design, A Survey PaperEditor IJCATR
Software architecture design is an important step of software development. Currently, there are various design methods
available and each is focusing on certain perspective of architecture design. Especially, quality-based methods have received a lot of
attentions and have been well developed for single system architecture design. However, the use of quality-based design methods is
limited in software product line (SPL) because of the complexity and variabilities existing in SPL architecture. With the increasing
attention to software safety, improving software safety has already become a more important issue, especially for safety-critical
systems. This study aims at surveying existing research on Software Product Line Architecture (SPLA) design based on quality
attributes, and to give an overview of the intersection of the areas of software product line architecture design and Safety Driven
Design in order to classifying existing work, and discover open issues for further research. Also this study investigates safety analysis
at the architectural level, and Safety-based Software Product Line Architecture Design (SSPLAD) approaches. Safety-driven software
product line architecture design seems to be a ‘‘discussion” topic. The study shows that there are a large number of SPLA design
methods. However, the use of safety-based design methods is limited in software product lines (SPL) due to the variability property
that can potentially result in a large number of possible systems and because of the complexity existing in safety attribute itself.
AN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTSijseajournal
One of the significantaspects of software quality is usability. It is one of the characteristics that judge by
the success or failure of software applications. The most important risk facing the software applications is
usability which may lead to the existence of a gap between users and systems. This may lead to system
failure because of Poor design. This is due to the design is not based on the desires and requirements of the
customer. To overcome these problems, this paper proposed an approach to improve usability of software
applications to meet the needs of the customer and interacts with the user easily with an efficient and
effective manner.The proposed approach is based prototyping technique due to itssimplicity and it does not
require additional costs to elicit precise and complete requirement and design.
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...ijseajournal
Analyzing the reliability of a software can be done at various phases during the development of
engineering software. Software reliability growth models (SRGMs) assess, predict, and controlthe software
reliability based on data obtained from testing phase.This paper gives a literaturereview of the first and
wellknownJelinski and Moranda(J-M) (1972)SRGM.Also a modification to Jelinski and Morandamodel is
given, Jelinski and Moranda and Schick and Wolverton (S-W) (1978)SRGMsare two special cases of our
new suggested general SRGM. Our proposed general SRGMalong with our Survey will open doors for
much more useful researches to be done in the field of reliability modeling.
‘O’ Model for Component-Based Software Development Processijceronline
The technology advancement has forced the user to become more dependent on information technology, and so on software. Software provides the platform for implementation of information technology. Component Based Software Engineering (CBSE) is adopted by software community to counter challenges thrown by fast growing demand of heavy and complex software systems. One of the essential reasons behind adopting CBSE for software development is the fast development of complicated software systems within well-defined boundaries of time and budget. CBSE provides the mechanical facilities by assembling already existing reusable components out of autonomously developed pieces of the software. The paper proposes a novel CBSE model named as O model, keeping an eye on the available CBSE lifecycle.
Today in era of software industry there is no perfect software framework available for
analysis and software development. Currently there are enormous number of software development
process exists which can be implemented to stabilize the process of developing a software system. But no
perfect system is recognized till yet which can help software developers for opting of best software
development process. This paper present the framework of skillful system combined with Likert scale. With
the help of Likert scale we define a rule based model and delegate some mass score to every process and
develop one tool name as MuxSet which will help the software developers to select an appropriate
development process that may enhance the probability of system success.
An employing a multistage fuzzy architecture for usability of open source sof...ijcsit
The Demand for Open Source Software (OSS) is increasing day by day. However, its end users still face
challenges using such software. Therefore, this study is conducted to propose a fuzzy usability model to be
an approach for evaluating the usability of the open source software. In order to propose such model, six common usability characteristics have been considered, namely: Learnability, understandability, attractiveness, operability, efficiency, and memorability. Some of these characteristics are related to the open source software's features (Learnability, usability, attractiveness, operability); and the rest are related to the end users. Finally, the Matalab Simulink software (Fuzzy Logic Toolbox) has been employed to simulate and to validate the proposed approach model.
Quality aware approach for engineering self-adaptive software systemscsandit
Self-adaptivity allows software systems to autonomously adjust their behavior during run-time to reduce
the cost complexities caused by manual maintenance. In this paper, an approach for building an external
adaptation engine for self-adaptive software systems is proposed. In order to improve the quality of selfadaptive
software systems, this research addresses two challenges in self-adaptive software systems. The
first challenge is managing the complexity of the adaptation space efficiently and the second is handling the
run-time uncertainty that hinders the adaptation process. This research utilizes Case-based Reasoning as
an adaptation engine along with utility functions for realizing the managed system’s requirements and
handling uncertainty.
ADAPTIVE CONFIGURATION META-MODEL OF A GUIDANCE PROCESSijcsit
The current technology tend leads us to recognize the need for adaptive guidance process for all process of
software development. The new needs generated by the mobility context for software development led these
guidance processes to be adapted. In order to improve the performance of the deployed software
development, it is useful to manage the configuration of its evolving aspects. This paper deals with the
configuration management of guidance process or its ability to be adapted to specific development
contexts. The proposed adaptive configuration Meta-model is worked out on the basis of a Y description
for adaptive guidance process. This description focuses on three dimensions defined by the
material/software platform, the adaptation form and provided guidance service. Each dimension considers
several factors to develop a coherent configuration strategy and provide automatically the appropriate
guidance process to a current development context.
Machine Learning approaches are good in solving problems that have less information. In most cases, the
software domain problems characterize as a process of learning that depend on the various circumstances
and changes accordingly. A predictive model is constructed by using machine learning approaches and
classified them into defective and non-defective modules. Machine learning techniques help developers to
retrieve useful information after the classification and enable them to analyse data from different
perspectives. Machine learning techniques are proven to be useful in terms of software bug prediction. This
study used public available data sets of software modules and provides comparative performance analysis
of different machine learning techniques for software bug prediction. Results showed most of the machine
learning methods performed well on software bug datasets.
An Elite Model for COTS Component Selection ProcessIJEACS
Component-based software development (CBD) promises development of high-quality trustworthy software systems within specified budget and deadline. The selection of the most appropriate component based on specific requirement plays a vital role for high-quality software product. Multi-Agent software (MAS) engineering approach played a crucial role for selection of the most appropriate component based on a specific requirement in a distributed environment. In this paper, multi agent technique is used for component selection. A semi-automated solution to COTS component selection is proposed. It is evident from the result that (MAS) plays an essential role and is suitable for component selection in a distributed environment keeping in view of the system design and testing strategies.
Computer literacy and competitive pressures among end users is increasing day by day due to whichthe
need for End-User Programming in software packages is also increasing for rapid, flexible, and user
driven information processing solutions. End User Development out-sources development effort to the end
user by enabling softwaredevelopers to create information systems that can even be adapted by technically
inexperienced endusers and hence are in great demand. If end user decides to pay the price and add
significant programmability to their system, there are additional costs to consider before end user can start
to enjoy the payoff. It is important to calculate accurateand early estimation of software size forcalculating
effort and cost estimation of software systems incorporating EUD features. With the evolution of object
orientation, use cases emerged as a dominant method for structuring requirements. Use cases were
integrated into the Unified Modeling Language (UML) and Unified Process and became the standard for
Software Engineering requirements modelling. The Use Case Point (UCP)methodestimates project size by
assigning points to use cases in the same way that Function Point Analysis (FPA) assigns points to
functions. This paper discusses the concept of end-user programming and Advancement of UCP by adding
end-user development/programming as an additional Effort Estimation Factor (EEF).
Agent-oriented software engineering is a promising new approach
to software engineering that uses the notion of an agent as the
primary entity of abstraction. The development of methodologies
for agent-oriented software engineering is an area that is currently
receiving much attention, there have been several agent-oriented
methodologies proposed recently and survey papers are starting to
appear. However the authors feel that there is still much work
necessary in this area; current methodologies can be improved
upon. This paper presents a new methodology, the Styx Agent
Methodology, which guides the development of collaborative
agent systems from the analysis phase through to system
implementation and maintenance. A distinguishing feature of
Styx is that it covers a wider range of software development lifecycle
activities than do other recently proposed agent-oriented
methodologies. The key areas covered by this methodology are
the specification of communication concepts, inter-agent
communication and each agent's behaviour activation—but it
does not address the development of application-specific parts of
a sys-tem. It will be supported by a software tool which is
currently in development.
Agent Assisted Methodologies have become an
important subject of research in advance Software Engineering.
Several methodologies have been proposed as, a theoretical
approach, to facilitate and support the development of complex
distributed systems. An important question when facing the
construction of Agent Applications is deciding which
methodology to follow. Trying to answer this question, a
framework with several criteria is applied in this paper for the
comparative analysis of existing multiagent system
methodologies. The results of the comparative over two of them,
conclude that those methodologies have not reached a sufficient
maturity level to be used by the software industry. The
framework has also proved its utility for the evaluation of any
kind of Agent Assisted Software Engineering Methodology.
Insights of effectivity analysis of learning-based approaches towards softwar...IJECEIAES
Software defect prediction is one of the essential sets of operation towards mitigating issues of risk management in software development known to contribute towards enhancing the quality of software. There is evolution of various methodologies towards resolving this issue while learning-based methodology is witnessed to be the most dominant contributor. The problem identified is that there are yet many unsolved queries associated with practical viability of such learning-based approach adoption in software quality management. Proposed approaches discussed in this paper contributes towards mitigating this challenge by introducing a simplified, compact, and crisp analysis of effectiveness associated with learning-based schemes. The paper presents its major findings of effectivity analysis of machine learning, deep learning, hybrid, and other miscellaneous approaches deployed for fault prediction followed by highlighting research trend. The major findings infer that feature selection, data imbalance, interpretability, and in adequate involvement of context are prime gaps in existing methods. The paper also contributes towards research gap as well as essential learning outcomes of present review work.
Insights on Research Techniques towards Cost Estimation in Software Design IJECEIAES
Software cost estimation is of the most challenging task in project management in order to ensuring smoother development operation and target achievement. There has been evolution of various standards tools and techniques for cost estimation practiced in the industry at present times. However, it was never investigated about the overall picturization of effectiveness of such techniques till date. This paper initiates its contribution by presenting taxonomies of conventional cost-estimation techniques and then investigates the research trends towards frequently addressed problems in it. The paper also reviews the existing techniques in well-structured manner in order to highlight the problems addressed, techniques used, advantages associated and limitation explored from literatures. Finally, we also brief the explored open research issues as an added contribution to this manuscript.
A FRAMEWORK FOR INTEGRATING USABILITY PRACTICES INTO SMALL-SIZED SOFTWARE DEV...ijseajournal
Usability now appears to be a highly important attribute for software quality; it is a critical factor that
needs to be considered by every software-development organization when developing software to improve
customer satisfaction and increase competition in the market. There exists a lack of a reference model or
framework for small-sized software-development organizations to indicate which usability practices should
be implemented, and where in the system-development life cycle they need to be considered. We offer
developers who have the objective of integrating usability practices into their development life cycle a
framework that characterizes 10 selected user-centered design (UCD) methods in relation to five relevant
criteria based on some ISO factors that have an effect on the selection of methods (ISO/TR16982). The
selection of the methods for inclusion in the framework responds to these organizations’ needs; and we
selected basic methods that are recommended, cost-effective, simple to plan and apply, and easy to learn by
developers; and which can be applied when time, resources, skills, and expertise are limited. We favor
methods that are generally applicable across a wide range of development environments. The selected
methods are organized in the framework according to the stages in the development process where they
might be applied. The only requirement for the existing development life cycle is that it to be based on an
iterative approach.
A survey of predicting software reliability using machine learning methodsIAESIJAI
In light of technical and technological progress, software has become an urgent need in every aspect of human life, including the medicine sector and industrial control. Therefore, it is imperative that the software always works flawlessly. The information technology sector has witnessed a rapid expansion in recent years, as software companies can no longer rely only on cost advantages to stay competitive in the market, but programmers must provide reliable and high-quality software, and in order to estimate and predict software reliability using machine learning and deep learning, it was introduced A brief overview of the important scientific contributions to the subject of software reliability, and the researchers' findings of highly efficient methods and techniques for predicting software reliability.
PROPOSAL OF AN HYBRID METHODOLOGY FOR ONTOLOGY DEVELOPMENT BY EXTENDING THE P...ijitcs
W3C’s Semantic Web intents a common framework that allows data to be shared and reused across
application and enterprise. The semantic web and its related technologies are the main directions of
future web development where machine-processable information which supports user tasks. Ontologies are
playing the vital role in Semantic Web. Researches on Ontology engineering had pointed out that an effective
ontology application development methodology with integrated tool support is mandatory for its success. .
Potential benefits are there to ontology engineering in making the toolset of Model Driven Architecture
applicable to ontology modeling. Since Software and Ontology engineering are two complimentary
branches, the scope of extension of the well proven methodologies and UML based modeling approaches
used in software engineering to ontology engineering can bridge the gap between the engineering branches.
This research paper is an attempt to suggest an exclusive hybrid methodology for ontology development from
existing matured software engineering. Philosophical and engineering aspects of the newly derived
methodology have been described clearly An attempt has been made for the application of proposed
methodology with protégé editor. The full-fledged implementation of an domain ontology and its validation
is the future research direction.
Contributors to Reduce Maintainability Cost at the Software Implementation PhaseWaqas Tariq
Software maintenance is important and difficult to measure. The cost of maintenance is the most ever during the phases of software development. One of the most critical processes in software development is the reduction of software maintainability cost based on the quality of source code during design step, however, a lack of quality models and measures can help asses the quality attributes of software maintainability process. Software maintainability suffers from a number of challenges such as lack source code understanding, quality of software code, and adherence to programming standards in maintenance. This work describes model based-factors to assess the software maintenance, explains the steps followed to obtain and validate them. Such a method can be used to eliminate the software maintenance cost. The research results will enhance the quality of the source code. It will increase software understandability, eliminate maintenance time, cost, and give confidence for software reusability.
A Software System Development Life Cycle Model for Improved Students Communic...IJCSES Journal
Software engineering provides methodologies, concepts and practices, which are used for analyzing,designing, building and maintaining the information in a software industry. Software Development Life Cycle (SDLC) model is an approach used in the software industry for the development of various size
projects: small scale projects, medium scale projects and large scale projects. A software project of any size is developed with the co-ordination of development team. It is therefore important to assign resources intelligently to the different phases of the software project by the project manager. This study proposes a
model for the spiral development process with the use of a simulator (Simphony.NET), which helps the project manager in determining how to increase the productivity of a software firm with the use of minimum resources (expert team members). This model increase the utilization of different development
processes by keeping all development team members busy all the time, which helps in decreasing idle and waste time.
The software industry has had significant progress
in recent years. The entire life of software includes two phases:
Production and Maintenance. Software maintenance cost is
increasingly growing and estimates showed that about 90%, if
software life cost is related to its maintenance phase. Extraction
and considering the factors affecting software maintenance cost
help to estimate the cost and reduce it by controlling the factors.
Cost estimation of maintenance phase is necessary to predict the
reliability, improve the productivity, project planning, controlling
and adaptability of the software. Though there are various models
to estimate the maintenance cost of traditional software like
COCOMO, SLIM, Function Point etc., but till now there is no
such model to estimate the maintenance cost using fourth
generation language environment. Software maintenance will
continue to exist in the fourth generation environment, as systems
will still be required to evolve. In this kind of situation there is
needed to develop a model to estimate the maintenance cost using
fourth generation environment. We propose a systematic
approach and development for software maintenance cost
estimation model using fourth generation language environment
on the basis of COCOMO II. This model is based on three
parameters: SMCE with Fourth Generation Language
Environment, ACT (Annual Change Traffic), Technical and NonTechnical
factors which affect the maintenance cost. The
favorable results closely matching and it can be achieved by using
model implementation.
An Agile Software Development FrameworkWaqas Tariq
Agility in software projects can be attained when software development methodologies attain to external factors and provide a framework internally for keeping software development projects focused. Developer practices are the most important factor that has to cope with the challenges. Agile development assumes a project context where the customer is actively collaborating with the development team. The greatest problem agile teams face is too little involvement from the customer. For a project to be agile, the developers have to cope with this lack of collaboration. Embracing changing requirements is not enough to make agile methods cope with business and technology changes. This paper provides a conceptual framework for tailoring agile methodologies to face different challenges. The framework is comprised of three factors, namely, developer practices, customer collaboration, and predicting change
QUALITY-AWARE APPROACH FOR ENGINEERING SELF-ADAPTIVE SOFTWARE SYSTEMScscpconf
Self-adaptivity allows software systems to autonomously adjust their behavior during run-time to reduce
the cost complexities caused by manual maintenance. In this paper, an approach for building an external
adaptation engine for self-adaptive software systems is proposed. In order to improve the quality of selfadaptive
software systems, this research addresses two challenges in self-adaptive software systems. The
first challenge is managing the complexity of the adaptation space efficiently and the second is handling the
run-time uncertainty that hinders the adaptation process. This research utilizes Case-based Reasoning as
an adaptation engine along with utility functions for realizing the managed system’s requirements and
handling uncertainty.
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
Software Quality Engineering is a broad area that is concerned with various approaches to improve software quality. A quality model would prove successful when it suffices the requirements of the developers and the consumers. This research focuses on establishing semantics between the existing techniques related to the software quality engineering and thereby designing a framework for rating software quality.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Multi Agent Based Software Engineering Models : A Review
1. International Journal of Software Engineering & Applications (IJSEA), Vol.8, No.2, March 2017
DOI: 10.5121/ijsea.2017.8209 139
MULTI-AGENT BASED SOFTWARE ENGINEERING
MODELS: A REVIEW
1
Okoye, C. I, 2
John-Otumu Adetokunbo M, and 3
Ojieabu Clement E.
1,2
Department of Computer Science, Ebonyi State University, Abakaliki, Nigeria
3
Department of Electrical/Electronic Engineering, Ambrose Alli University, Ekpoma,
Nigeria
ABSTRACT:
This paper critically examined nine different software models for modeling / developing multi-agent based
systems. The study revealed that the different models examined have their various advantages /
disadvantages and uniqueness in terms of practical development/deployment of the multi-agent based
information system in question. The agentology model is one methodology that can be easily adopted or
adapted for the development of any multi-agent based software prototype because it was inspired by the
best practices and good ideas contained in other agent oriented methodologies like CoMoMas, MASE,
GAIA, Prometheus, HIM, MASim and Tropos.
KEYWORDS:
Multi-agent, artificial intelligence, software model, agentology
1. INTRODUCTION
The true concept of agent and multi-agent based technology originated from artificial intelligence
(AI) [1, 2]
. Thus the roots of the concept extend back to the 1950s when AI was born. Agent
concept also has its roots in other research areas like: robotics, distributed systems, and computer
graphics. Agent work in robotics and artificial intelligence (AI) was originally strongly
interrelated. According to [3]
robots such as SHAKEY were programmed to exhibit autonomous
behavior in well-defined environments, and laid the groundwork for AI planning systems to this
day. Research work by [4]
shows that the first software agent was probably “ELIZA”, a program
which could engage in a conversation with a user. Another influential program called “SHRDLU”
according to [5]
, allowed a person to have a conversation with a simulated robot.
The notion of multi-agent systems was brought to the limelight by Marvin Minsky in his work on
the “Society of Mind” [6]
. His vision was that a complex system such as the human mind should
be understood as a collection of relatively simple agents, each of which was a specialist in certain
narrow domains. Through structures called K-lines, agents would activate each other whenever
their context became relevant. Though the work of Minsky showed remarkable vision, but was
ahead of its time since software complexity had not yet reached the level of where the advantages
of such structures would have a practical impact.
2. International Journal of Software Engineering & Applications (IJSEA), Vol.8, No.2, March 2017
140
Agent can be defined as a computer system situated in an environment with the ability of taking
autonomous actions in order to meet its desired goals [7]
, while multi-agent system according to [8,
9]
is concerned with a system or collective behavior of existing autonomous agents in some
environment aiming at proffering solutions to a given problem. [7]
is also of the opinion that a
multi-agent based system can be seen as a system that is a loosely coupled network
troubleshooter or solution provider that works together to solve issues that is beyond the
capability of an individual agent.
2. LITERATURE REVIEW
Developing agent-based software requires a systematic engineering approach that supports and
drives a development team along all the phases of the software production process. A software
engineering methodology aims to describe all the elements necessary for the development of a
software system. So, a methodology uses a modeling language to capture and describe
requirements of the system to be, a modeling language to describe the architectural components
and details of their interaction. Various forms of analysis is required to reason about models, a
structured process to guide analysts and developers activities, and tools to support and semi-
automate the developing process.
Many agent oriented software methodology exist, but for the purpose of this research work, nine
of them were carefully selected and reviewed: Agent Unified Modeling Language (AUML),
MASE, High-level and Intermediate Models (HIM), CoMoMAS, GAIA, MASim, Prometheus,
Tropos and Agentology.
According to [10]
agent oriented methodologies adopts several notations for agent software
development, while traditional methodologies are inadequate for such development. [10]
also used
the Agent Unified Modeling Language (AUML) to characterize some activities in their research
work on agents; though the AUML is an extension of UML for modeling multi-agent based
application behaviors, it is still not a primary methodology that would say what to do; it just offer
tools for using other methodologies. [11]
acknowledges MASE as a multi-agent methodology that
focuses on the development of robotics mainly, [12]
also acknowledges that though MASE
methodology is multi-agent based, but it has a strong background from Object Oriented
Methodology (OOM).
Cassiopeia and High-level and Intermediate Models (HIM) are general-purpose methodologies
for designing multi-agent systems; but [13]
sees HIM as a methodology that offers five models, but
this model is relatively less known for agent development.
According to [14]
CoMoMAS is another good methodology and environment for the development
of multi-agent based systems; [15]
acknowledges that the beauty of CoMoMAS methodology is its
focus on knowledge engineering, which is based on CommonKADS. Though CoMoMAS has
five distinct phase of development that speaks interestingly well about the methodology, but
unfortunately [14]
is of the opinion that due to its focus on knowledge, it is not very suitable for the
purpose of social simulations.
[16]
is of the opinion that GAIA methodology is one of the first proposed agent-oriented software
engineering methodologies. GAIA belongs to the most often cited multi-agent methodologies; [17]
is of the opinion that GAIA is a universal methodology and its process is in three phases or
3. International Journal of Software Engineering & Applications (IJSEA), Vol.8, No.2, March 2017
141
stages. Unfortunately, the GAIA methodology is closed and static, i.e. it hardly deals with
unusual requirements. The methodology does not deal with designing agent’s environment.
MASim is a methodology that is focused particularly on agent-based simulations, due to the fact
that it is worthy of closer exploration, and used in the design of both small and large systems [18]
.
MASim is about the most appropriate agent-based methodology because it covers not only design
phases, but also the development and verification phases, in which a tester is responsible for
testing (verification and validation) the application according to the pre-established requirements
[18]
.
Prometheus is another general-purpose and practical oriented agent-based software engineering
methodology that covers the overall development process in details [19]
. The major phases of the
methodology supported are: system specification, architectural design and detailed design, but
mainly uses UML and AUML notations for its diagrams. According to [20]
Prometheus
methodology is tool-supported i.e. Prometheus Design Tool (PDT) and JACK Development
Environment (JDE). The PDT allows users to create and elaborate Prometheus design, while JDE
is used for the skeleton code generation from the design diagrams.
Another well-known and deeply elaborate multi-agent methodology is the Tropos [21]
; the
methodology has five main development phases, namely, early requirements, late requirements,
architectural design, detailed design and implementation phase. It is a requirement driven
methodology based on the concepts used during early requirements analysis [21]
, and according to
[22]
it supports a full tool methodology that spans four phases. Some researchers are still of the
opinion that the available agent-oriented methodologies are not yet well suited and crafted for real
the world application, it is concurrent being observed that research is focusing on moving from
basic foundational issues to a more practical software engineering method [23]
. It is a known fact
that one of the key issues in the transition of agents from research to industrial practice is the need
for a mature software engineering methodology for the specification and design of agent systems.
Although there are many other agent methodologies as discussed above, the only relevant
methodology that focused specifically on the design and development of agent is the MASim, but
its limitations makes it difficult to apply.
Agentology is another sound methodology for the development of agent-based systems that can
be easily applicable from requirements to development stage. Agentology is a methodology that
was inspired by the best practices and good ideas contained in several other methodologies. The
methodology is independent of any agent paradigm, framework, technology and programming
language. The design and development process in agentology consists of four phases and nine
steps. Each step works with the results of the previous one, so the process has the structure of a
successive or iterative approach.
3. FINDINGS AND DISCUSSIONS
The findings and discussions of this study are tabulated in Table 1.
4. International Journal of Software Engineering & Applications (IJSEA), Vol.8, No.2, March 2017
142
Table 1: Findings of the methodologies reviewed
S/N Methodology Advantages Disadvantages Comments
1 AUML 1. The AUML
offer tools for
using other
methodologies
1. It is not a primary
methodology that
would say what
to do.
1. The AUML is an
extension of UML
for modeling
multi-agent based
application
behaviors.
2 MASE 1. MASE
methodology is
fully multi-agent
based.
1. It has a strong
background from
Object Oriented
Methodology
(OOM).
1. MASE as a multi-
agent
methodology that
focuses on the
development of
mainly robotics.
3 HIM 1. HIM is a general-
purpose
methodology for
designing multi-
agent.
1. The HIM
methodology is
relatively less
known for agent
development.
HIM methodology
offers five models
4 CoMoMAS 1. It is focused on
engineering
knowledge based
on
CommonKADS
1. This
methodology is
not suitable for
social
simulations.
1. It is a good
methodology for
the development
of multi-agent
based systems
5 GAIA 1. Methodology
for developing
both medium
and large multi-
agent systems
2. It is situated in
an open and
dynamic
environment
3. It can guarantee
predictable and
reliable behavior
4. It gives agent a
well-defined
position with
expected
behavior.
1. The methodology
is closed and
static
2. The methodology
deals with
unusual
requirement.
3. The methodology
does not deal
with designing
agent’s
environment.
1. One of the first
proposed agent
oriented software
methodology
2. It has 3 phases i.e.
(a) Analysis phase
(b) Architectural
phase
(c) Detailed design
phase
6 Prometheus 1. It is a general
purpose and
practical oriented
agent-based
methodology.
2. It gives strong
The prometheus
methodology is a
practical
methodology that
covers the overall
development process
5. International Journal of Software Engineering & Applications (IJSEA), Vol.8, No.2, March 2017
143
emphasis to the
determination of
system’s goals
and
functionalities
3. It is iterative in
nature
4. It is tool-
supported i.e.
Prometheus
Design Tool
(PDT) and Jack
Development
Environment
(JDE).
in details
7 Tropos 1. It is a
requirement
driven
methodology.
2. The methodology
supports a full
tool that spans
four phases.
1. The methodology
is not yet well
suited and crafted
for real the world
application,
2. It is still being
observed.
3. The
methodology is
not yet matured
for the
specification and
design of agent
systems.
1. It is another well-
known and deeply
elaborate multi-
agent
methodology. The
methodology has
five main
development
phases, namely,
early
requirements, late
requirements,
architectural
design, detailed
design and
implementation
phase.
8 MASim 1. It is an
appropriate agent
methodology for
practical
development
2. It covers the
design,
development and
verification
phases
3. It can be used to
design both small
and large
systems.
1. It is particularly
focused on agent-
based simulations
This methodology is
responsible for testing
(verification and
validation) the
application according
to the pre-established
requirements.
9 Agentology 1. It is inspired by
the best practices
The agentology
model is one
6. International Journal of Software Engineering & Applications (IJSEA), Vol.8, No.2, March 2017
144
and good ideas
contained in
other agent
oriented
methodologies.
2. It is a
methodology for
the development
of agent-based
systems that can
be easily
applicable from
requirements to
development
stage
3. The methodology
is independent of
any agent
paradigm,
framework,
technology and
programming
language.
4. The process has
an iterative
approach.
methodology that can
be easily adopted or
adapted for the
development any
multi-agent based
software prototype.
4. CONCLUSION
This study reviewed the following multi-agent based models: Agent Unified Modeling Language
(AUML), MASE, High-level and Intermediate Models (HIM), CoMoMAS, GAIA, MASim,
Prometheus, Tropos and Agentology. The study shows their various strength and weaknesses in
terms of modeling and developing multi-agent based systems. Methodologies like CoMoMAS,
GAIA, Prometheus, Tropos and MASim strongly supports multi-agent based systems design and
development, while MASE methodology focuses on the development of multi-agent system for
mainly robotics. Findings shows that Agentology methodology is one of the best methodologies
crafted for multi-agent based system due to the fact that it was inspired by the best practices and
good ideas contained in other agent oriented methodologies. The agentology methodology is
therefore recommended for the development any multi-agent based software prototype.
7. International Journal of Software Engineering & Applications (IJSEA), Vol.8, No.2, March 2017
145
REFERENCES
[1] Weiss (1999) Multi-Agent Systems, MIT Press
[2 ]Wooldridge, M. (2002) An Introduction to multi-agent systems. John Wiley & Sons Limited
England, ISBN: 0-471-49691-X
[3] Nilsson, N. J. (1984) Shakey the robot. Technical Note 323, SRI International, Menlo Park,
California.
[4] Weizenbaum, J. (1965) ELIZA – a computer program for the study of natural language
communication between man and machine. Communications of the Association for Computing
Machinery. 9(1), pp. 36–45.
[5] Winograd, T. (1973) A procedural model of language understanding. In Computer Models of Thought
and Language, Schank, R. and Colby, K. Eds. W.H.Freeman, New York, pp. 152–186.
[6] Minsky, M. (1987) The Society of Mind. Heinemann, London.
[7] Jennings, N. R., and Wooldridge, M. J. (1998) Application of Intelligent Agent: Foundations,
Applications and Markets, pp. 3-28, Secaucus, NJ, Springer-Verlag, Berlin.
[8] Lesser, V. R. (1995). Multiagent Systems: An Emerging Subdiscipline of AI, ACM Computing
Surveys, 27(3):340-342.
[9] Agre, P. E. and S. J. Rosenschein (eds.) (1996). Computational Theories of Interaction and Agency ,
Boston, Massachusetts: MIT Press.
[10] Odell, J., Van Dyke Parunak, H. and Bauer, B. (2000) Extending UML for Agents. In Proceedings of
Agent Oriented Software Engineering Workshop
[11] DeLoach, S. A., Wood, M. F., and Sparkman, C. H. (2001) Multiagent Systems Engineering.
International Journal of Software Engineering and Knowledge Engineering, Vol. 11(3), pp. 231-258
[12] Garcia-Ojeda, J. C., DeLoach, S. A., Oyenan, W., and Valenzuela, J. (2007) O-MaSE: A
Customizable Approach to Developing Multiagent system Development Processes. Proceedings of
the 8th International Workshop on Agent Oriented Software Engineering
[13] Elammari, M. and Lalonde, W. (1999) An Agent Oriented Methodology: High-Level and
Intermediate Models. In Proceedings of AOIS. Heidelberg, Germany.
[14] Glaser, N. (1997) Multi-Agent System Methodologies and Applications. In vol. 1286/1997. Lecture
Notes in Computer Science. Springer Berlin/Heidelberg
[15] Schreiber, G. et al (1994) CommonKADS: A Comprehensive Methodology for KBS Development. In
IEEE Expert 9.6, pp. 28-37
[16] Zambonelli, F., Jennings, N., and Wooldridge, M. (2003) Developing Multi-agent Systems: the Gaia
Methodology, ACM Transactions on Software Engineering and Methodology, Vol. 12, No. 3
[17] Wooldridge, M., Jennings, N. R., and Kinny, D. (2000) The Gaia Methodology for Agent-Oriented
Analysis and Design. In Autonomous Agents and Multi-Agents Systems 3.3, pp. 285-312
8. International Journal of Software Engineering & Applications (IJSEA), Vol.8, No.2, March 2017
146
[18] Campos, Andre, M. C. et al, (2004) MASim: A Methodology for the Development of Agent-based
Simulations, In Proceedings 16th European Simulation Symposium. Ed. By Gyorgy lipovzki and
Istvan Molnar.
[19] Padgham, L., and Winikoff, M. (2004) Developing Intelligent Agent Systems: A Practical Guide.
John Wiley and Sons
[20] Padgham, L., Thangarajah, J., and Winikoff, M. (2008) The Prometheus Design Tool – A Conference
Management System Case Study. In Proceedings of 8th International Workshop on Agent Oriented
Software Engineering, LNCS 4951 Springer.
[21] Giorgini, P., Bresciani, P., Giunchiglia, F., Mylopoulos, J., and Perini, A. (2004) Tropos: An Agent-
Oriented Software Development Methodology, Autonomous Agents and Multi-Agent Systems, Vol.
18, 203-236.
[22] Morandini, M., Nguyen, D. C., Perini, A., and Susi, A. (2008) Tool-Supported Development with
Tropos. The Conference Management System Case Study. In the Proceedings of 8th International
Workshop on Agent Oriented Software Engineering (AOSE 07). Springer.
[23] Gomez-Sanz, J., and Luck, M. (2008) Proceedings of the 9th International Workshop on Agent-
Oriented Software Engineering (AOSE 08)