=Paper=
{{Paper
|id=None
|storemode=property
|title=Metamodeling of Bayesian networks for decision-support systems development
|pdfUrl=https://ceur-ws.org/Vol-949/kese8-02_07.pdf
|volume=Vol-949
|dblpUrl=https://dblp.org/rec/conf/ecai/AguilaS12
}}
==Metamodeling of Bayesian networks for decision-support systems development==
Metamodeling of Bayesian networks for decision-support systems development Isabel M. del Águila and José del Sagrado 1 Abstract. The knowledge modeling and software modeling phases in Knowledge-Based System development are not integrable, in terms of representation, due to the different languages needed at the steps of the development. This paper focuses on bring closer these languages. By one hand, we define a meta model which contains the key concepts used in the definition of a knowledge model as a Bayesian network. On the other hand, we define an extension of UML using profiles that can bridge the gap in representation and facilitate the seamless incorporation of a knowledge model, as Bayesian network, in the context of a knowledge-based software development. 1 Introduction Knowledge-based systems (KBSs) are characterized by their high risk, loose definition, poor structure and subjective requirements. These software systems were introduced in the early 1970s as expert systems from the field of artificial intelligence (AI) research. Figure 1. Different views of a software development project Originally their goal was to transfer expertise from domain experts to a some kind of knowledge base that may be integrable in a software system. However, nowadays knowledge engineering is changing as it turns towards the modeling approach. A KBS can languages in the same project. Figure 1 shows the vision of a be defined as ”software that has some knowledge or expertise about software development project from the points of view of a customer, specific, narrow domain, and is implemented such that Knowledge a software engineer and a knowledge engineer. The knowledge base and the control architecture are separated. Knowledge-Based engineer (Figure 1A) uses knowledge engineering methods to define Systems have capabilities that often include inferential processing the project’s task, relegating to the background the tasks defined by (as opposed to algorithmic processing), explaining rationale to users software engineering. The software product that results from this an generating non-unique results” [19]. From this definition is easy process is a KBS. From another perspective, the software engineer to see the many roles played by the knowledge model (knowledge (Figure 1B) systematically applies its skills, tools and software bases). Models provide an abstraction about reality and through this engineering methods to develop a software product (system), where knowledge models the human experts problem solving approaches knowledge is only another element. Finally, the customer’s view in order to be used in the development of software solutions. of the project (Figure 1C) focuses on quality and the need of Knowledge models usually are described in a specific purpose cooperation between the two engineerings and their own modeling language. There is not a standard, because it depends heavily on languages [2, 3], so that the final software product properly covers knowledge representation mechanisms (i.e. rules, semantic networks, all her/his needs. In other words, software components based and frames). However, from a commercial point of view, the development not based on knowledge must be integrated in shaping the software of a software system focuses on customers, that is, in order to system for the end user. develop any software solution we need to gather requirements from The use of different modeling languages limits the applicability customers and translate it into software functionalities. All the of one of the software development schemes more widespread in desired functionalities do not have to apply artificial intelligence our day, Model-Driven Architecture (MDA) [13]. This approach, to techniques.Thus, software systems usually integrate a KBS with information software systems development, separates specification other needed software enterprise components. of the system functions from implementation of these functions in a These not knowledge based components are described using given platform, focusing on models as a higher level of abstraction modeling languages from the software engineering domain (UML during systems construction [5]. This fact leads developers to is the most used standard). This lead us to combine several modeling a significant decoupling between platform-independent models 1 Department of Languages and Computation, University of Almerı́a, Spain, (PIMs) and platform-specific models (PSMs). Separation between email: imaguila@ual.es specification and implementation is also a basic feature in KBS (see [19]). Our problem is putting together different modeling language for the edition, use and evaluation of BN. These environments notations into a single platform independent model, so that the provide class libraries that can be integrated as any other component knowledge model and the UML model are expressed in a compatible into a software application (i.e. BN-based KBS). This application format. Therefore, we need a extended PIM that include algorithmic will be released to the end user and will contain an implementation and inference functionalities. A single language allows a great level of the network itself and network capabilities, such that inference of abstraction and makes easy the implementation process. The same from observed values of some variables. PIM model can be translated to different platforms: the core goal of In particular, the Elvira system [10] is tool to construct MDA. probabilistic decision support systems. Elvira works with Bayesian This work propose a extension of UML when Bayesian Networks networks and influence diagrams and can operate with discrete, (BN) [21, 15, 16] are the representation selected by knowledge continuous and temporal variables. It has an easy to use Graphical engineers to model the knowledge. We focus on BN because among User Interface (GUI) (see Figure 2). In addition you can edit, easily, all the knowledge modeling languages, Bayesian networks can be the ASCII format of the Elvira systems to introduce your models. It successfully used to represent expert knowledge on an uncertain has methods for inference, learning, abduction, fusion of knowledge domain. Today, BNs are expressed by applying its own algebraic and making decisions, and some tools to check the efficiency of the notation, but if we want a BNs to be part of a software solution, algorithms. we must be able to express themselves in the same language that is commonly used to model general purpose software (i.e. UML). In this paper we propose an approach which aims to improve the development of decision support system, reinforcing the aspects of BNs modeling. In order to achieve this goal, we introduce a BN metamodel and a UML profile as means to build the PIM for a KBS that represents knowledge based on a BN. The rest of this paper is structured as follows. Section 2 introduces the basic fundamentals of Bayesian networks. The general MDA translation schema for BNs is explained in Section 3. Section 4 describe a basic metamodel for BNs (BayNet) that provides a specific and intuitive notation for modeling BN-based KBS. The extension of UML taking as basis the BN metamodel BayNet to create an UML profile for BNs (UBN) is studied in Section 5. Then, Section 6 shows how to apply UBN profile to the development of a simple pest control BN-based KBS. Finally, the conclusions and future works are exposed in Section 7. Figure 2. Elvira’s main interface 2 Bayesian Networks Basics A Bayesian network is a probabilistic graphical model that represents a set of random variables and their conditional dependencies via a directed acyclic graph. Because a Bayesian network is a complete The program Elvira has its own format for storing models, model for the variables and their relationships, it can be used to a parser, exact and approximate (stochastic and deterministic) answer probabilistic queries about them. algorithms for inference on both discrete and continuous variables, Formally, a BN [21, 15, 16] is a pair (G, P) where a graphical interface for building and evaluating Bayesian networks and influence diagrams, with specific options for canonical models • G = (V, E) is a directed acyclic graph whose set of nodes V = (OR, AND, MAX, etc.), explanation of reasoning, decision making {X1 , X2 , · · · , Xn } represents the system variables and whose set algorithms, learning (model building) from databases, fusion of of arcs E represents direct dependence relationships among the networks, etc. Elvira is written and compiled in Java, which allows variables, and the program to run on different platforms and operating systems: • P is a set of conditional probability distributions containing Linux, MS-DOS/Windows, Solaris, etc. a conditional probability distribution P (Xi |pa(Xi )) for each variable Xi given its set of parents pa(Xi ) in the graph. 2.1 Reasoning with Bayesian Networks The joint probability distribution over V can be recovered from this Probabilistic reasoning in BNs consists in computing the posterior set P of conditional probability distributions applying the chain rule probability distributions of some variables of interest vI ∈ VI as: given some observed variables VE (this sets of findings is called n evidence), P (vI |VE ). This process is performed via a flow of Y P (X1 , · · · , Xn ) = P (Xi | pa(Xi )). (1) information through the network in any direction. If we give a causal i=1 interpretation to the links in the network (i.e. for an arc Xi → Xj The process of obtaining the graph and the probabilities of a BN can we say that Xi is a cause of Xj and Xj is the effect of Xi ), we can be done either manually, from experts’ knowledge on the domain, perform several types of reasoning [17]: or automatically, from databases. In the first case, the elicitation of probabilities constitutes a bottleneck in the development of BNs [9]. • Diagnostic reasoning, the evidence flows in the opposite direction A BN-based KBS needs to translate this algebraic notation to to the arcs, from effects to cause (i.e. some effects receive evidence environments, such as Elvira [10], that consists of software packages and some of their causes are the variables of interest). • Predictive reasoning, the evidence flows in the direction of the of defining a new metamodel on which to build an entirely arcs, from cause to effect (i.e. some causes receive evidence and new language defined through the Meta-Object Facility (MOF) their effects are the variable of interests). specification. But if we do not want to change UML semantics and • Intercausal reasoning, the evidence flows in all directions. This only particularize some concepts, we can extend UML using a series type of reasoning involves reasoning about mutual causes of a of mechanism offered by the language itself: the profiles. [12]. common effect (i.e. the effect and some of the causes receive We know that all the knowledge representation mechanisms are in evidence and some of the causes are the variables of interests). themselves languages. So we can choose to build a totally new MOF language, but it may not respect the standard UML metamodel. This Sometimes reasoning does not match into these three types, because fact will prevent existing UML tools to manage the new language any variable can be an interest variable and may be an evidence concepts in a natural way. To offer a proposal that also gives support variable and information flows in either direction (i.e. the effects to UML, leads to a greater number of users and reduce the learning of a causes and the causes of the second receive evidence and the curve in the new language. For all these reasons and agreeing with central cause is the variable of interest). This situation occurs when the proposals of several authors [18, 22, 4], we also propose the use diagnostic and predictive reasoning are used simultaneously. of UML profiles. In any case, according to several studies [11, 12], the starting point for developing a UML profile is the metamodel for 3 Bayesian Network as PIM the platform or of the domain of the application that is going to be modeled. In our case, the starting point is a BN metamodel (called In terms of MDA vocabulary, a BN is a PIM, Elvira is a platform BayNet) that will allow us to specify how BN concepts are related to model into which a BN has to be translated in order to define the and represented in standard UML. Visual Paradigm is the CASE tool final PSM. Elvira software also offers Java support for the BN, that used to define this metamodel and its associated profile. is to say, it provides the last level of the MDA approach (i.e. the code). Figure 3. MDA for BN-based KBS Figure 4. BayNet metamodel’s basic structure Figure 3 shows the translation model proposed. Both, the transactional (or interaction) PSM and the knowledge (or BN) PSM are expresed in terms of object-oriented design languages coming from Software Engineering (i.e. UML) and their translation into code is solved by means of a m2c translation. Many CASE tools, like 4 Metamodel for Bayesian Network Visual Paradigm, Microsoft Visual Studio or Enterprise Architect, already incorporate, at least to some degree, this kind of translation. A metamodel includes domain entities, retrictions between them But to use the power of MDA, is also necessary to express the and limitations on the use of entities and relationships. BNs are PIM of these two parts of the software solution. There are modeling complex in nature, beside its structure we have to face with complex languages in the Software Engineering area that allow to express the concepts, as inference and learning, that have to be approached by PIM, but what about the BN? What is its language model? Is it UML successive approximations. This is the reason why we have split compatible? the metamodel in several packages as it is shown in Figure 4. The The MDA approach has been applied in other forms of knowledge BayNet metamodel is the basis for providing a specific and intuitive representation as rules [7, 1]. From the metamodel of the rule-based notation for modeling BN-based KBS. languages have been defined UML profiles and automated tools, that In a first approximation to BayNet, we only focus on BayNet translate the rules of PIM models into rules-based web-systems by structure (as we need to define the BN structure to define a model) combining Java Server Faces with Jess rule engine [6]. But, BNs and BayNet reasoning (as we need to carry out inference in order to lack of a modeling language compatible with UML that allows the reasoning with a BN) packages (see Figure 5). The BayNet structure application of MDA. Model transformation consists on the process package represents the basic components of a BN (BNet class): its of converting one model to another model of the same system in a qualitative (i.e. directed acyclic graph) and quantitative (i.e. set of different abstraction level: from PIM to PSM and from PSM to code. probability distributions) parts. The qualitative part is represented by MDA tools allow these transformations to be automated and executed the class Variable and its self-association. An Assignment consists in automatically. assigning a State to a Variable modifying, accordingly, its marginal Our goal is to create an UML-compatible modeling language probability. The quantitative part is represented by means of the for BNs. The Object Management Group (OMG) has defined two classes Configuration and Relation. For each given child-father extension mechanisms for UML: metamodel model and profile association (Configuration) in the directed acyclic graph is assigned extensions [14]. First extension mechanism involves the process a conditional probability value (Relation). That is, we assign a programming languages, natural language or Object Constraint Language (OCL). • Tagged values are additional meta-attributes assigned to a stereotype, specified as name-value pairs. They have a name and a type and can be used to attach arbitrary information to model elements. Figure 5. BayNet metamodel Figure 6. UBN stereotypes and icons probability value to each combination of values of a variable Xi and its parents pa(Xi ) in the graph, to define the conditional probability distribution P (Xi |pa(Xi )). In BayNet reasoning, an inference can be view as a process We use UML profile to define a UML Bayesian network profile (I Process), a class able to carry out inferences (I entity) or an (UBN). The aim of UBN is to define a language for designing, operation inside a class (I task). These three views allows to model visualizing, specifying, analyzing, constructing and documenting the different levels of abstraction in the decision tasks associated to a artifacts of knowledge-based systems, that represents it knowledge BN-based KBS. An Inference is an aggregation of the observed as a BN. The next step is to map the BayNet metamodel, described variables (Evidence) together with the execution of the operations in the above section, to UML metaclases and make the necessary needed to make evidence flow on the network and to compute extensions. The mapping is a non-trivial task, because we need to the posterior probability distributions of the variables of interest know in deep how to apply the UML language. Most of concepts (Propagation). will map to stereotypes on a selected UML metaclass. Also we can define icons for most of the stereotypes, that allows the modeler to 5 UBN profile use intuitive symbols instead of UML shapes. Figure 6 shows the actual mapping with UML metaclasses. UML offers the possibility to extend and adapt its metamodel to Once the UBN is defined, it can be used in the software a specific area of application through the creation of profiles. The development of a particular application by defining a stereotyped BayNet metamodel is the basis that will provide a specific and dependency (<< applyP rof ile >>) between the UBN package intuitive notation for modeling BN-based KBS and including it in an an the package that is being under development for the application, UML project. UML profiles are UML packages with the stereotype as Figure 7 shows. A partial view of the class model of Elvira << prof ile >>. A profile can extend a metamodel or another is included as it is needed in order to define the m2m translation profile while preserving the syntax and semantic of existing UML between PIM and PSM (see Figure 3). elements. It adds elements which extend existing classes. UML profiles consist of Stereotypes, Constraints and Tagged Values. 6 Case Study: A pest control BN-based KBS • A stereotype is a model element defined by its name and by the This section shows how to apply UBN in an specific KBS base class(es) to which it is assigned. Base classes are usually development project. The project follows a development metaclasses from the UML metamodel, for instance the metaclass methodology described in [3], the process model proposed << Class >>, but can also be stereotypes from another profile. allows the seamless inclusion of Bayesian networks into the final • Constraints are applied to stereotypes in order to indicate software solution for an organizational environment. Let us begin restrictions. They specify pre- or post conditions, invariants, with a brief description of the project to assist decision making in etc., and must comply with the restrictions of the base an agricultural domain. Our problem is related to pest control in class. Constraints can be expressed in any language, such as a given crop under the regulation of Integrated Production. The Figure 7. Bayesian network KBS modeling packages: pest control application Figure 8. Use cases Integrated Production Quality standard is adopted by a group of growers in order to achieve a quality production certification. The adoption of this standard forces growers to be disciplined in growing can be described as the following informal scenario: Each week, which involves intervention by technicians, marketing controls, and the agricultural expert samples the crops condition and makes an periodical inspection by the standard certification agencies. estimate of the risk of pest attack. Crop sampling consists of direct The three main steps in the development of software systems that observation and count of harmful agents in randomly selected plants. embed functionalities based and not based on knowledge, concerning Where imbalance is detected, the expert advises treatment meeting the decision support process and the information management the integrated production standard. processes, are: Requirement modeling (RM), Expert modeling (EM) A crop is a complex system consisting of a plot of land, plants, and Specification of the software solution (SSS)[3]. The first two are a set of diseases and pests, and natural enemies that may be able to in charge of the definition on the PIM model according MDA (see control them. The problem is to decide what treatment to apply, in Figure 3), and here is where UBN gets its value, because we can use order to maintain a balanced system. Figure 9, shows the UML class only UML in order to execute RM and EM. diagram obtained. Some of the classes in the model are variables of Software project development starts with business and RM the Bayesian network (EM). modeling. The first activity consists of collecting, structuring Within the scope of integrated production systems, when an and organizing all the relevant data for a concise and accurate agricultural expert visits a greenhouse, he writes down the date of definition of the problem to be solved by the software system. the visit and samples the crop, including information about fauna, Integrated production involves handling and storing a huge amount weather (wind, rain, etc.) and environment (weeds). The general of information about crops, and making decisions about all the tasks schema for a crop-harmful agent pair consists of observing the that have to be performed to fulfill the quality regulations. crops condition and fauna. Crop condition is measured in terms of We model the processes that are represented as use cases. its phenology. The presence of fauna is important to estimate the The typical processes in an integrated production problem are intensity of the attack. The crop condition, along with the intensity of shown in Figure 8. All tasks related to information required for pest attack, determines the need for applying a plant health treatment quality management standards, without needing any knowledge or not. Periodical inspections of this kind are performed weekly. based approach, are: Market Production, Act in Crop, Certify Crop Figure 10 shows the BN structure elicited from the knowledge of Quality, and Finish Growing. All tasks related to pest control are the domain expert. Once the BN structure has been established, the performed by growers and agronomists in the Monitor crop process probabilities are estimated completing the construction of the BN and represents the inference tasks that we need to model by means of model. This expert modelling process has been successfully applied a Bayesian network. The decision process when monitoring a crop to determine the need of applying a treatment for olives’ fly [8]. is made at two levels. First, a decision is made on whether crop In order to select the set of relevant variables, we start from the control action is necessary by sampling pests and estimating risk of initial conceptual model of the project that has to be refined. A first attack. Then if it is decided that crop control action is required, the version of the PIM is shown in figure 9. Some of the modeling product (chemical or biological) to be applied has to be selected. The elements are stereotyped, using UBN, as nodes in a BN, Crop treatment advised has to respect natural enemies and other biological condition is measured in terms of its phenology. The presence of products previously used. fauna is important to estimate the intensity of the attack. The crop The next steep is to finish the PIM, using UML and UBN in order condition, along with the intensity of pest attack, determines the need to define the system without considering platform level details. That for applying a plant health treatment or not. Periodical inspections is, from use cases we need to define the conceptual models. In this of this kind are performed weekly. Relationship that complete the section, as specific case, we focus on the Monitor crop use case that qualitative part of the BN are shown as stereotyped associations of Figure 9. Partial view of the PIM type << f ather >>. Once the BN structure has been established, 7 Conclusions the probabilities are estimated (quantitative elicitation activity) based on a local government database of cases, completing the construction In this work we have presented a metamodel (BayNet) and an of the BN model. This expert modeling process has been successfully UML profile (UBN) for BN-based KBS modeling. This metamodel applied to determine the need of applying a treatment for the olives’ covers several important aspects for achieving the seamless inclusion fly (dacus olae) [20]. of BN models into a final software solution for an organizational Finally, the specification of the software solution (SSS) represent a environment. The applicability of our solution has been tested in a m2m translation that produces the PSM. Based on the PSM obtained, simplified version of a real world problem: integrated production in a m2c translation can be used to obtain a BN-based KBS in order to agriculture. assists grower and technicians in pest control decision support tasks. Our proposal allows to manage a domain-specific language for BN without changing UML semantics. This can be view as a general framework to apply Model Driven Development, extending it to the BN-based KBS case. Developing a profile is a difficult task that implies to perform many steps. The next steps of this research will consist in defining an specification of constraints and operations using OCL, validate the profile using a CASE tool as Visual Paradigm and test it in a real-life development project that includes knowledge-base features. ACKNOWLEDGEMENTS This research has been funded by the Control crop Project (PIO-TEP- 6174) from the Counseling of Economy, Innovation and Science, Government of Andalusia (Spain) and the Spanish Ministry of Education, Culture and Sport under project TIN2010-20900-C04-02. REFERENCES Figure 10. A BN structure for a crop-harmful agent pair [1] Mohd Abdullah, Ian Benest, Richard Paige, and Chris Kimble, ‘Using unified modeling language for conceptual modelling of knowledge- based systems’, in Conceptual Modeling - ER 2007, eds., Christine Parent, Klaus-Dieter Schewe, Veda Storey, and Bernhard Thalheim, volume 4801 of Lecture Notes in Computer Science, 438–453, Springer Berlin-Heidelberg, (2007). [2] Isabel Marı́a del Águila, Joaquı́n Cañadas, José Palma, and Samuel plausible inference, Morgan Kaufmann Publishers Inc., San Francisco, Túnez, ‘Towards a methodology for hybrid systems software CA, USA, 1988. development’, in SEKE, eds., Kang Zhang, George Spanoudakis, and [22] Bran Selic, ‘A Systematic Approach to Domain-Specific Language Giuseppe Visaggio, pp. 188–193, (2006). Design Using UML’, , IEEE International Symposium on Object- [3] Isabel Marı́a del Águila, José del Sagrado, Samuel Túnez, and Oriented Real-Time Distributed Computing, 2–9, (May 2007). Francisco Javier Orellana, ‘Seamless software development for systems based on bayesian networks - an agricultural pest control system example’, in ICSOFT (2), eds., José A. Moinhos Cordeiro, Maria Virvou, and Boris Shishkov, pp. 456–461. SciTePress, (2010). [4] Saartje Brockmans, Robert Colomb, Peter Haase, Elisa Kendall, Evan Wallace, Chris Welty, and Guo Xie, ‘A model driven approach for building owl dl and owl full ontologies’, in The Semantic Web - ISWC 2006, eds., Isabel Cruz, Stefan Decker, Dean Allemang, Chris Preist, Daniel Schwabe, Peter Mika, Mike Uschold, and Lora Aroyo, volume 4273 of Lecture Notes in Computer Science, 187–200, Springer Berlin / Heidelberg, (2006). [5] Alan W. Brown, ‘Model driven architecture: Principles and practice’, Software and System Modeling, 3(4), 314–327, (2004). [6] Joaquı́n Cañadas, José Palma, and Samuel Túnez, ‘A tool for mdd of rule-based web applications based on owl and swrl’, in KESE, eds., Grzegorz J. Nalepa and Joachim Baumeister, volume 636 of CEUR Workshop Proceedings. CEUR-WS.org, (2010). [7] Joaquı́n Cañadas, José Palma, and Samuel Túnez, ‘Defining the semantics of rule-based web applications through model-driven development’, Applied Mathematics and Computer Science, 21(1), 41– 55, (2011). [8] José del Sagrado and Isabel del Águila, ‘Olive fly infestation prediction using machine learning techniques’, in Current Topics in Artificial Intelligence, eds., Daniel Borrajo, Luis Castillo, and Juan Corchado, volume 4788 of Lecture Notes in Computer Science, 229–238, Springer Berlin / Heidelberg, (2007). [9] Marek J. Druzdzel and Roger R. Flynn, ‘Decision support systems’, in Encyclopedia of Library and Information Science, ed., Allen Kent, volume 67, 120–133, Marcel Dekker, Inc., New York, NY, (2000). [10] T. Elvira Consortium, ‘Elvira: An environment for creating and using probabilistic graphical models’, in Proceedings of the First European Workshop on Probabilistic Graphical Models (PGM-02, eds., J. Gómez and A. Salmerón, pp. 1–11, (2002). [11] Lidia Fuentes and Antonio Vallecillo, ‘An Introduction to UML Profiles’, The European Journal for the Informatics Professional, 5(2), (April 2004). [12] Giovanni Giachetti, Francisco Valverde, and Oscar Pastor, ‘Improving automatic uml2 profile generation for mda industrial development’, in ER Workshops, eds., Il-Yeol Song, Mario Piattini, Yi-Ping Phoebe Chen, Sven Hartmann, Fabio Grandi, Juan Trujillo, Andreas L. Opdahl, Fernando Ferri, Patrizia Grifoni, Maria Chiara Caschera, Colette Rolland, Carson Woo, Camille Salinesi, Esteban Zimányi, Christophe Claramunt, Flavius Frasincar, Geert-Jan Houben, and Philippe Thiran, volume 5232 of Lecture Notes in Computer Science, pp. 113–122. Springer, (2008). [13] O. M. G. Group, MDA Guide Version 1.0.1, document omg/03-06-01 edn., june 2003. http://www.omg.org/cgi-bin/doc?omg/03-06-01. [14] O. M. G. Group, UML Specification, Version 2.0, 2005. http://www.omg.org/spec/UML/. [15] Finn V. Jensen and Thomas D. Nielsen, Bayesian Networks and Decision Graphs, Springer Publishing Company, Incorporated, 2nd edn., 2007. [16] Uffe B Kjrulff and Anders L Madsen, Bayesian Networks and Influence Diagrams, Springer New York, 2008. [17] K. Korb and A. Nicholson, Bayesian Artificial Intelligence, Chapman and Hall, 2nd edn., 2010. [18] François Lagarde, Huáscar Espinoza, François Terrier, and Sébastien Gérard, ‘Improving uml profile design practices by leveraging conceptual domain models’, in Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, ASE ’07, pp. 445–448, New York, NY, USA, (2007). ACM. [19] Mary Lou Maher and R. H. Allen, Expert System Components, American Society of Civil Engineering, 1987. [20] Francisco Javier Orellana, José del Sagrado, and Isabel Marı́a del Águila, ‘Saifa: A web-based system for integrated production of olive cultivation’, Comput. Electron. Agric., 78(2), 231–237, (September 2011). [21] Judea Pearl, Probabilistic reasoning in intelligent systems: networks of