Research

7 pages
95 views

Knowledge-Based System’s Modeling for Software Process Model Selection

of 7
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Share
Description
Knowledge-Based System’s Modeling for Software Process Model Selection
Transcript
  See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/50235000 Knowledge-Based System's Modeling forSoftware Process Model Selection  Article   in  International Journal of Advanced Computer Science and Applications · March 2011 DOI: 10.14569/IJACSA.2011.020205 · Source: DOAJ CITATIONS 3 READS 64 3 authors: Abdur Rashid KhanGomal University 28   PUBLICATIONS   68   CITATIONS   SEE PROFILE Zia ur rehmanFauji Foundation 3   PUBLICATIONS   16   CITATIONS   SEE PROFILE Hafeez Ullah AminUniversiti Teknologi PETRONAS 31   PUBLICATIONS   75   CITATIONS   SEE PROFILE All content following this page was uploaded by Zia ur rehman on 18 June 2014. The user has requested enhancement of the downloaded file. All in-text references underlined in blue are added to the srcinal documentand are linked to publications on ResearchGate, letting you access and read them immediately.  (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 2, No.2, February 2011 20 | Page http://ijacsa.thesai.org/ Knowledge- Based System‟s Modeling for Software Process Model Selection   Abdur Rashid Khan 1 ,   1 Institute of Computing & Information Technology, Gomal University, Dera Ismail Khan, Pakistan 1 dr.arashid@gu.edu.pk drarashid.khan09@gmail.com Zia Ur Rehman 2 2, Institute of Information Technology Kohat University of Science & Technology (KUST), Pakistan 2 ziagulzia@gmail.com Hafeez Ullah Amin 3  3, Institute of Information Technology Kohat University of Science & Technology (KUST), Pakistan 3 hafeezullahamin@gmail.com  Abstract   —  This paper depicts the knowledge-based system named as ESPMS (Expert System for Process Model Selection) through various models. A questionnaire was developed to identify important parameters, which were evaluated through domain experts in about all the universities of Pakistan. No exact system was found, which could guide Software Engineers for selection of a proper model during software development. This paper shows that how various technologies like Fuzzy Logic, Certainty Factors, and Analytical Hierarchy Process (AHP) can be adopted to develop the Expert System. Priorities assignments to critical factors have been shown for decision making in the model selection for a problem domain. This research work will be beneficial to both students and researchers for integrating Soft Computing Techniques and Software Engineering. Keywords  - ESPMS,   Expert System, Analytical Hierarchy Process, Certainty Factors, Fuzzy Logic, Decision-Making. I.   I  NTRODUCTION This article presents a conceptual  framework for selection of an appropriate software process model showing the whole work through various models. The main goal of this research work is to guide the Software Engineer for decision making about selection and evaluation of software  process model through implementation of Soft Computing Technology. Expert system named as ESPMS  ( Expert System for Process Model Selection ) was developed using ESTA (Expert System Shell for Text Animation) as a development tool. . A software process defines the approach that is taken as software is engineered. But software engineering also encompasses technologies that populate the process  –   technical method and automated tools [1]. Professional system developers and the customers they serve share a common goal of building information systems that effectively support  business process objectives. In order to ensure that cost-effective, quality systems are developed which address an organization‟s business needs, developers employ some kind  of system development process model to direct the project‟s lifecycle [2].   Software process is a framework to build high quality software [1]. The most difficult task in software engineering is to select an appropriate software process model, which completely suits for the particular situation. If a particular software process model is not selected then it will become a  bottleneck for the software product; takes more time, higher  budget than the estimated one. Mostly software projects fail due to inappropriate modeling. That is why care must be taken during a selection of software process model. As, most of the times domain experts (software engineers) are few in numbers, are much busy and/or not available in time, so such types of systems are much important to novice users. This research aims to devise a theoretical framework for software process model selection, which will help Knowledge Engineer and Software Engineer in developing high quality, cost-effective software, well in time within the available resources. II.   ST UDY DOMAIN    A.   Software Engineering and Artificial Intelligence The integration of matured AI methods and techniques with conventional software engineering remains difficult and poses  both implementation problems and conceptual problems [3]. Artificial Intelligence and Software engineering both disciplines have many commonalities. Both deal with modeling real world objects from the real world like business processes, expert knowledge, or process models. Recently several research directions of both disciplines come closer together and are  beginning to build new research areas. Some of these research areas are the following; Software Agents play an important role as research objects in Distributed AI (DAI) as well as in agent-oriented software engineering (AOSE). Knowledge-Based Systems (KBS) are being investigated for learning software organizations (LSO) as well as knowledge engineering. Ambient Intelligence (AmI) is a new research area for dis-tributed, non-intrusive, and intelligent software systems both from the direction of how to build these systems as well as how to design the collaboration between ambient systems. Last but not least, Computational Intelligence (CI) plays an important role in research about software analysis or project management as well as knowledge discovery in databases or machine learning [4].  (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 2, No.2, February 2011 21 | Page http://ijacsa.thesai.org/ An expert system is a computer program which captures the knowledge of a human expert on a given problem, and uses this knowledge to solve problems in a fashion similar to the expert [5]. Computer programs using Artificial Intelligence (AI) techniques to assist people in solving difficult problems involving knowledge, heuristics, and decision-making are called expert systems, intelligent systems, or smart systems [6]. Software development process is a very complex process that, at present, is primarily a human activity. Programming, in software development, requires the use of different types of knowledge: about the problem domain and the programming domain. It also requires many different steps in combining these types of knowledge into one final solution. One of my key observations is that expert programmers rely heavily on a large body of standard implementation methods and program forms [7]. Software Engineering is a highly dynamic field in terms of research and knowledge, and it depends heavily upon the experience of experts for the development and advancement of its methods, tools, and techniques [4].   Learning is based on knowledge and experiences related to the different processes, products, tools, techniques and methods applied to the software development  process. The overall objective of a Learning Software Organization (LSO) is to improve software processes and  products according to the strategic goals of the organization   [8]. Literature study reveals that there is a great intersection  between Software Engineering and Artificial Intelligence. The knowledge of experts of related fields can be captured, elicited and copied into computer to work just like commitment to users.  B.    Background and Related Work    Literature study shows that research has been taken on different aspects of software process models but there is no standard criteria being developed for evaluation and selection of software process model. To select an appropriate software  process model, which completely suits for a particular situation is very difficult task as much of the problems as well as process models cannot be separated among each other due to their mixed characteristics. Process modeling is a rather young and very active research area during the last few years, new languages and methods have been proposed to describe software processes [9]. Lonchamp [10] focused some framework conceptual issues and terminology of process, such as; framework for Process, Process Models, Meta-process, and  process centered software engineering environment. Yu & Mylopoulos, [11] presents a model which captures the intentional structure of a software process and its embedding organization. The model is embedded in the conceptual modeling language Tools. The expert systems could advise the domain engineer in programming without the detailed experience in programming languages, Integrate with the help of deductive database and domain knowledge, the previously developed software components to new complex functionalities [12]. Canfora [13] describe the results and lessons learned in the application of the Framework for the Modeling and Measurement of Software Processes in a software company dedicated to the development and maintenance of software for information systems. LSO is an organization that learns within the domain of software development, evolution and application [8]. Modeling concept is well accepted in software engineering discipline. However, there is still a lacking integration of software process modeling and software process measurement  by software engineers. This paper aims to portray the idea and result of integrating measurement in software process modeling [14]. Kim & Gil [15] propose a complementary approach, KANAL (Knowledge Analysis) which helps users and check  process models. Liao et al, [16] described an ontology-based approach to express software processes at the conceptual level. Software process is viewed as an important factor to deliver high quality products. Although there have been several Software Process Models proposed, the software processes are still short of formal descriptions. Literature study reveals, the integration of matured AI methods and techniques with conventional software engineering remains difficult and poses both implementation  problems and conceptual problems [3]. Lonchamp [10] focused some framework conceptual issues and terminology of process. Raza [7] stated software development problems includes conceptual specifying, designing, testing the conceptual construct and representation problems that comprising representing software and testing the reliability of a representation. A basic problem of software engineering is the long delay between the requirements specification and the delivery of a product. This long development cycle causes requirements to change before product arrival. Canfora [13] described, modeling and measurement are two key factors to  promote continuous process improvement. Turban [17] stated expert system may contain components of knowledge acquisition subsystem, knowledge base, inference engine, user interface, explanation subsystem, and knowledge refinement system. Awad [18] described four components of AI systems: a knowledge base, an inference engine, justifier/scheduler, and user interface. Durkin [5] stated that Expert systems solve  problems using a process which is very similar to the methods used by the human expert. Knowledge base, working memory, inference engine, and Explanation Facility are the components of Expert System. Knowledge base is core component of expert system in AI. Durkin [5] described, the knowledge base contains specialized knowledge on a given subject that makes the human a true expert on the subject. This knowledge is obtained from the human expert and encoded in the knowledge base using one of several knowledge representation techniques. One of the most common techniques used today for representing the knowledge in an expert system is rules. Turban [17] described a system which emulates human intelligence in system by capturing knowledge and expertise from knowledge sources is known as artificial intelligent system. Hence it is the need of the day to develop a Knowledge base System to work just like a consultant for Software Engineers for selection of a proper  process model for software development. III.   PROBLEM   M O DELING In this research work critical factors were identified to select a process model for a specific problem through a questionnaire, which were verified by domain experts and were analyzed using SPSS. These factors were assigned weights using AHP. Decision making process in the proposed research  (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 2, No.2, February 2011 22 | Page http://ijacsa.thesai.org/ work has been shown through various models and tables. Following paragraphs describes various models to depict the  problem domain:  A.   Conceptual Modeling of Prototype ESPMS This model depicts the whole process of knowledge acquisition through decision making using ESPMS. See Fig 1. Figure 1. Conceptual   Model of the ESPMS  B.    Decision Making Model The questionnaire (i.e. knowledge acquisition tool) was sent to about 100 domain experts of 124 universities (both public and private) in the country. Expert opinions were analyzed through using SPSS and weights of the critical factors were known. The analysis resulted that project team, project type & risk management, and Validation & verification were on the top among the parameters [19]. See Figure 2 and Appendix-I for detail. Figure 2. Decision Making by Priorities Assignments to Parameters C.    Expert System Model Expert System model represents how the Expert System will be developed. Expert Systems are developed either through using expert system languages (i.e. PROLOG, LISP etc) or through using expert system shells (i.e. ESTA, EXSYS (Novice Software Engineers and Designer) Knowledge Reresentation Inputs Performance & Validity Checking Explanations & Consultation User inputs and system results USERS Knowledge Base ESTA Data Domain Experts (Expert Knowledge) Knowledge Refinements Problems/ Question Experts Solution   Decision Making Formalized/ Structured Knowledge   Knowledge Sources (Books, Journals, Databases, Reports, Internet, etc) Rules of Thumb (Heuristic  Knowledge) Knowledge Domain Inference Knowledge Implementation & Maintenance 0.0853 Documentation 0.0854 Validation and Verification 0.0978 System Integration and Testing 0.0912   Quality Assurance and Quality Control   0.0945   Unit Development, Software Integration & System Design and Architectural Selection & Evaluation Criteria for Software Process Model Max 1.0000 Requirements Analysis and Specification Project Team 0.0897 User Community 0.0921 Project Type and Risk 0.0964  (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 2, No.2, February 2011 23 | Page http://ijacsa.thesai.org/ etc). We adopted ESTA (Expert System for Text Animation) as development tool for expert system development [20]. ESTA was combined with the knowledge-base to develop the ESPMS, shown as below: ESPMS = ESTA + Knowledge Base  D.    Dialogue Mechanism of ESPMS ESTA has a special DDE (Dynamic Data Exchange) component, which can share knowledge with the external environment (i.e. other software and databases). Figure 4 represents how Expert System exchanges information with its environment. Figure 3: ESTA Dialogue Mechanism of Expert System  E.    Production Rules Rules represent the major elements of a modular knowledge representation scheme, especially when using shells. Rules are conditional statements that are easy to understand and write; they specify an action to be taken if a certain condition is true. They also express relationship between parameters or variables. In expert systems vocabulary, production rules are also called  premise-action, cause-effect, hypothesis-action, condition- action, IF…THEN, or IF ….THEN ….ELSE, [18].   The basic idea of using rules is to represent the expert‟s knowledge in the form of premise-action pairs as follows: Syntax: IF (premise) THEN (action) e.g. IF X < 0.20 THEN “Prototype Process Model”  Th e above example shows that if the value of “X” is less than “0.20” then “Prototype Process Model” will be selected.    F.   Symbolic Modeling For proposed intelligent framework, analytical hierarchy  process (AHP) has been used for decision making process in selection and evaluation factors in the software process model. The AHP is a structured technique for handling with complex decision problem, developed by Thomas L. Saaty in 1970s, which is based on Mathematics & Psychology. It provides a framework for solving decision problem and quantifying its elements, for overall goals; also evaluating possible alternative solutions [21]. AHP was used to prioritize the decision making parameters in different levels. The weights of individual factors (i.e. levels) were summed up to level 2 and the weights of level 2 were summed up to get the value of level 1. See Appendix-I for detail. Maximum weight is 1 and therefore the weight of main goal is 1.000, which is the sum of all the factors weights. To achieve the main goal, first of all we sum up the weights of sub items which become the weight of their groups‟ parameter, and at the end sum of the weight of groups‟ parameters become the weight of the goal. The level wise weight assignments to main groups & sub-criteria elements are shown in Appendix-I. To calculate the score of sub-hierarchy the following formula is used. The following mathematical model evaluates the final value of the objective function. The weight of concerned parameter is multiplied with its assigned weight and summed up together. See equation (1) through equation (4).    nqqq  W C   Kq 1 ………………. (1)   Where Kq = q th  main criteria. n = number of sub-criteria in the q th   Criteria. C q  = Fuzzy value of q th    parameter W q  = Weight of the relative parameter. To calculate the overall score of the decision hierarchy, the equation is re-defined as: Total Score = K  1  + K  2  + K  3  + . . . . + K  11 …. (2)   It implies that:    111 i  KiScoreTotal    …………………. (3)   Where, Wi= Expert weight of the i th  main criteria. Ki= Calculation obtained from equation (1) or value of main criteria obtained through equation (1). From equation (1) and (3), we derived equation (4) as  below:      111 1 )( inq WqCqScoreTotal  ………….. . (4) Process‟s evaluation score could not be achieved efficiently through using yes/no, i.e. 1 or 0; as the values of parameters are qualitative in nature. For these qualitative parameters we use fuzzy logic. Zadeh [22] used fuzzy logic to measure the continuous values. Since, through out in the decision making process  para meters‟ weight assigned from experts‟ opinion is constant, final decision ranking score computed from the overall decision Sstem Users Knowlede Enineer Dialog Dialog DDE Facility External Database User Interface Knowledge Base (Collection of facts) Control Mechanism (Inference Engine)
Related Documents
View more...
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x