Relational reinforcement learning with guided demonstrations Model-based reinforcement learning is a powerful paradigm for learning tasks in robotics. However, in-depth exploration is usually required and the actions have to be known in advance. Thus, we propose a novel algorithm that integrates the option of requesting teacher demonstrations to learn new domains with fewer action executions and no previous knowledge. Demonstrations allow new actions to be learned and they greatly reduce the amount of exploration required, but they are only requested when they are expected to yield a significant improvement because the teacher's time is considered to be more valuable than the robot's time. Moreover, selecting the appropriate action to demonstrate is not an easy task, and thus some guidance is provided to the teacher. The rule-based model is analyzed to determine the parts of the state that may be incomplete, and to provide the teacher with a set of possible problems for which a demonstration is needed. Rule analysis is also used to find better alternative models and to complete subgoals before requesting help, thereby minimizing the number of requested demonstrations. These improvements were demonstrated in a set of experiments, which included domains from the international planning competition and a robotic task. Adding teacher demonstrations and rule analysis reduced the amount of exploration required by up to 60% in some domains, and improved the success ratio by 35% in other domains. Learning tasks with robots is a very interesting topic, where impressive results may be obtained without having to design specific algorithms for each task. However, learning high-level tasks can be very time consuming because considerable experience is required to learn in real-world domains where stochastic actions with multiple effects can be performed. In general, learning from scratch in such domains requires that hundreds of actions are executed even for simple tasks. Robots require several seconds, or even minutes, to execute high-level actions, which means that the total time required to learn a task can be excessively large. However, learning with the help of a human teacher can reduce this learning time greatly, although human time is usually considered to be more valuable than that of a robot, and thus the robot should only request help from a teacher a limited number of times. This is the underlying concept of the learning approach in the European project IntellAct [1], the goal of which is to exploit the semantics of manipulations in terms of objects, actions, and their consequences to reproduce human actions using robots. This project provides a framework where a robot should learn manipulation tasks with no prior knowledge, as well as performing high-level reasoning to adapt to changes in the domain. The robot starts without any knowledge of the available actions and it has to request demonstrations from a teacher whenever new actions are required to complete a task. These actions are learned at a low level using programming by teleoperation [2] , as well as at a high level with a decision maker. Moreover, a 3D object recognition algorithm [3] and a particle filter tracker [4] are used to obtain a state for reasoning and to generate semantic event chains [5] , which encode the demonstrated action sequences. Using this information, the decision maker can learn about the domain constantly while completing the assigned tasks [6] . In this study, we propose a new reinforcement learning algorithm for the decision maker called Relational Exploration with Demonstrations (REX-D), which can learn to perform manipulation tasks based on only a small number of action executions with the help of a teacher guided by rule analysis.. In some robotic systems, such as those that involve complex manipulation sequences, the decision maker has little input data and long periods of time to process it, because the actions take a long time to execute. Therefore, a good approach for learning such high-level tasks is model-based reinforcement learning (RL) [7] . This approach allows a model to be obtained that represents the actions that the robot can execute. The model is generated from the experiences obtained when the robot executes the actions.. To learn tasks as rapidly as possible, we need a highly compact representation of the model, and thus we use relational models. These models generalize over different objects of the same type, thereby reducing the learning complexity of domains to the number of different types of objects in them. Several approaches apply RL to obtain good results in specific robotic tasks using relational domains [8, 9] , as well as with general relational models [10, 11] . A fundamental problem in RL is balancing exploration and exploitation. To reduce the number of experiences required, Lang et al. [12] proposed the REX algorithm, which used relational count functions to apply relational generalization to the exploration-exploitation dilemma. In our approach, we learn general relational models using the relational generalization of REX, but we also include teacher demonstrations and rule analysis to reduce the number of experiences required even further, as well as facilitating generalization over different tasks.. In general, there is some uncertainty about the effects of an action executed by a robot. This uncertainty is important in some tasks, thus the RL algorithm should be able to handle stochastic effects. In the KWIK framework [13] ,are also useful for finding alternative models that explain unexpected states.. In summary, we propose a RL algorithm that can request demonstrations from a teacher whenever it requires new unknown actions to complete a task, which significantly reduces the number of experiences required to learn. This approach is very useful for addressing two fundamental problems in robotics: generalizing to different tasks and the large amount of time required for learning. Adding new actions allows the robot to apply previous knowledge to different tasks that may require new actions, while optimal demonstrations provide more information to the learner than random exploration. Moreover, we also employ model analysis to guide the teacher, thereby making his demonstrations as helpful as possible and improving the model when using a greedy learner.. The remainder of this paper is organized as follows. First, we review the background related to our study, before presenting our REX-D algorithm. Next, the model analysis and its advantages are explained, followed by an experimental evaluation of our system. Finally, we give our conclusions and some suggestions for future research. Learning with real robots is very time consuming if actions take several seconds to complete. Therefore, learning algorithms should require as few executions as possible. We addressed this problem using relational RL with demonstrations. We combined the generalization capabilities of learning in relational domains, where the same type of objects have to be learned only once, with teacher demonstrations, thereby significantly reducing the number of exploration actions required, which is the longest part of the learning process.. In the proposed REX-D algorithm, we added demonstration requests to the relational RL algorithm REX. In addition to the faster learning, demonstrations allow the algorithm to learn actions as they are required by extending generalization to different tasks, and new actions can be added if necessary.. Another aspect of the proposed method is the use of action rules analysis to help the teacher, which minimizes the number of demonstrations required in a task. The improvements include providing guidance to the teacher so The standard Cranfield benchmark assembly is tackled during the first 4 episodes, and a special front faceplate that does not require a pendulum has to be placed during the last 4 episodes. The robot starts with no previous knowledge about the actions in the first episode. As there are no dead-ends and a teacher is available, the success ratio is 1. The results shown are the mean and standard deviations obtained over 50 runs. Both the amount of actions performed and the number of demonstration requests are shown.. only the unknown actions need to be demonstrated, checking for valid action rule alternatives before requesting new demonstrations, and using subgoals in tasks where demonstrating new actions may require the execution of previously known actions.. We performed several experiments to analyze the performance of the REX-D algorithm. Standard domains from the international planning competition were used to compare our approach with other relational RL methods, which demonstrated that significant improvements were obtained. Further experiments were also performed using the Cranfield benchmark encoded in a VR system, which provided the user with a similar experience to a real robot.. In conclusion, we proposed a relational RL algorithm with demonstration requests that improves the learning time while aiming to minimize the number of teacher interactions.. In future research, it would be useful to adapt REX-D to partially observable domains, where the planner and the learner would have to consider uncertainty. Approaches are available that learn partially observable domains instead of deterministic domains [26] , but a new learning algorithm would have to be developed that covers both partially observable and stochastic actions. On the planning side, any partially observable MDP solver can be used.

O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Extensions of rich words In [DJP], it was proved that every word w has at most |w| + 1 many distinct palindromic factors, including the empty word. The unified study of words which achieve this limit was initiated in [GJWZ]. They called these words rich (in palindromes).This article contains several results about rich words and especially extending them. We say that a rich word w can be extended richly with a word u if wu is rich. Some notions are also made about the infinite defect of a word, the number of rich words of length n and two-dimensional rich words. In [DJP] , it was proved that every word w has at most |w| + 1 many distinct palindromic factors, including the empty word. The authors of [GJWZ] recently initiated a unified study of words which achieve this limit. They called these words rich (in palindromes). The same concept was introduced already in [BHNR] with the term full words. Full, meaning that a bound is reached. This class of words have been studied in several other papers from various point of views, for example in [AFMP] , [BDGZ1] , [BDGZ2] , [DGZ] and [RR] .. In Section 2 we will prove several results about extending rich words. A rich word w can be extended richly with a word u if wu is rich. In [GJWZ] it was proved that every rich word can be extended at least with one letter. We will prove that every rich word w can be eventually extended richly at least in two ways, after it had been extended at most with a word of length 2|w|. This fact will be used in several places later. We will also show that every rich word can be extended to be both an infinite aperiodic and infinite periodic rich word. Also, all Sturmian words can be extended richly in two ways.. In Section 3 we will define a new concept, the infinite defect of a finite word. The normal defect of a word w tells how many palindromes does it lack. The infinite defect tells how many palindromes does the infinite extension of w has to lack in minimum. We will notice that this number is always finite. We will also give some upper bounds and study how the defect and the infinite defect can differ from each other.. In Section 4 we will give upper and lower bounds for the number of rich words of length n. Clearly all words are not rich, so it is natural to study how many of them exist. This has not yet been done. The upper bound has no theory behind it, but it seems to be quite near to the actual number of rich words. For the lower bound we will use the fact that every rich word could be extended at least in two different ways after a limited extension.. In Section 5 we will shortly study two-dimensional rich words and their extensions. In Section 6 we will give some open problems from the previous sections.

O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O B O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O


Integrating transcriptional and protein interaction networks to prioritize condition-specific master regulators Background: Genome-wide libraries of yeast deletion strains have been used to screen for genes that drive phenotypes such as stress response. A surprising observation emerging from these studies is that the genes with the largest changes in mRNA expression during a state transition are not those that drive that transition. Here, we show that integrating gene expression data with context-independent protein interaction networks can help prioritize master regulators that drive biological phenotypes. Results: Genes essential for survival had previously been shown to exhibit high centrality in protein interaction networks. However, the set of genes that drive growth in any specific condition is highly context-dependent. We inferred regulatory networks from gene expression data and transcription factor binding motifs in Saccharomyces cerevisiae, and found that high-degree nodes in regulatory networks are enriched for transcription factors that drive the corresponding phenotypes. We then found that using a metric combining protein interaction and transcriptional networks improved the enrichment for drivers in many of the contexts we examined. We applied this principle to a dataset of gene expression in normal human fibroblasts expressing a panel of viral oncogenes. We integrated regulatory interactions inferred from this data with a database of yeast two-hybrid protein interactions and ranked 571 human transcription factors by their combined network score. The ranked list was significantly enriched in known cancer genes that could not be found by standard differential expression or enrichment analyses.Conclusions: There has been increasing recognition that network-based approaches can provide insight into critical cellular elements that help define phenotypic state. Our analysis suggests that no one network, based on a single data type, captures the full spectrum of interactions. Greater insight can instead be gained by exploring multiple independent networks and by choosing an appropriate metric on each network. Moreover we can improve our ability to rank phenotypic drivers by combining the information from individual networks. We propose that such integrative network analysis could be used to combine clinical gene expression data with interaction databases to prioritize patient-and disease-specific therapeutic targets. Gene expression analysis has been widely used to assay how biological systems respond to a variety of perturbations, including environmental stresses and Fig. 6 Combined score for viral oncogene-associated PANDA network and protein interaction network improves enrichment and specificity for identifying cancer genes. a PANDA transcriptional network for the transforming viral oncogenes. Sanger cancer genes are depicted as red nodes. Size of node is proportional to degree of node. b Line plot shows the ROC curves for overlap with cancer drivers for each of three network measuresdegree in PANDA network, degree in yeast two-hybrid network, or combined network score. Bar graph (above) shows the odds ratio of the overlap between cancer drivers and the top 10 % (or top 57 out of 571) TFs. Bar graphs (below) show the significance of the enrichment in cancer drivers using three different statistical tests: W = Wilcoxon rank test, K = Kolmogorov-Smirnov test, F = Fisher's exact test for the overlap between the top 5 % (or top 29 out of 571) ranked TFs and cancer drivers. Black dotted line indicates lower bound for statistical significance drug treatments. In particular, gene expression profiling is used to characterize tissue samples from patients with diseases of complex origin. These profiles are analyzed to identify genes perturbed by the disease and to potentially discover new biomarkers. However, genome-wide screens and expression profiling in yeast have established that the most differentially expressed genes are not the same genes that drive the response to a perturbation. Therefore, it remains a challenge to prioritize drivers of complex phenotypes, such as disease and drug response, using gene expression data.. Most genes do not work in isolation but rather function together in pathways and complexes. They form a network of molecular interactions whose activity and dynamics determine the biological processes that are deployed in response to changes in the environment. Thus, a natural alternative to studying differential gene expression is to examine the underlying gene interaction networks and their structure to extract features that drive phenotypic transitions. Analysis of protein-protein interaction networks has found that highly connected "hub" nodes are significantly enriched in the essential genes that are necessary for survival. We found that the regulators that drive the response to rapamycin or other yeast stress conditions also have higher degree in the PPI network than expected by chance. However, the PPI network is measured under normal growth conditions and thus represents a contextindependent pool of all possible interactions between proteins. Master regulators, on the other hand, are highly dependent on the context and the exact perturbation under study. Therefore, more data is necessary to determine which high-degree proteins are important for mediating the cellular response to any particular condition.. We addressed this challenge by using gene expression data to build context-specific regulatory networks. To test the generality of our approach, we used two different algorithms to integrate gene expression data with transcription factor binding sites in order to infer realistic models of regulation. We used GMIT to compute conditional mutual information between a target gene and the potential regulators that have binding sites in the promoter of that gene, and PANDA to apply message-passing to find the best-fit model for TF and target gene activity, and their interactions. We hypothesized that the regulators that drive response to environmental perturbations would have high degree in this network. Applying this analysis to rapamycin response in yeast, we observed that driver TFs indeed have higher degree than expected by chance. However, the highest-degree nodes are not drivers but instead tend to be either essential for normal growth or widely active regulators that partner with RNA polymerases and are involved in housekeeping processes. This suggests that when a cell is perturbed, it activates specific functional pathways in tandem with more general activators or repressors that modulate the landscape of transcription. The former are associated with the response to that particular perturbation, whereas the latter lead to sweeping patterns of expression that dominate differential expression patterns. As a corollary, though the true drivers have significantly higher degree on average, the degree alone is not enough to enrich for the true phenotypic drivers in regulatory networks with high specificity.. We next asked whether combining transcriptional networks with the protein-protein interaction data could improve the detection of drivers. We reasoned that the two data types could complement each other, because protein interactions and gene regulation are inherently distinct processes but both significantly contribute to the functioning of the cell. We first noted that the degree distributions of the two networks are very different. The regulatory networks we inferred were generally smaller and had less of the "heavy tail" characteristic of scale-free networks. In other words, they did not have as many nodes with extremely high degree. The protein interaction networks were larger and had more high-degree hubs. Instead of directly combining the degrees in the two networks, we first ranked the nodes by their degree in each network separately, and then computed the average of the ranks. Similar to nonparametric statistical tests like the Wilcoxon rank-sum test, this procedure ensures that the score is not dependent on the exact forms of the degree distributions.. We applied this combined PPI and transcriptional network score to compute the enrichment in drivers in the response of yeast to rapamycin. The combined score was able to better prioritize drivers, especially at the top of the list of ranked TFs. This was because the regulators that control specific functions downstream of the TOR pathway had more protein interactions than the hub TFs that activate general stress response or other basic cellular programs. We next applied the combined network score to other yeast conditions. In the cases where the regulatory network alone was enriched in drivers (menadione, DTT and diamide), we again found that combining it with the PPI data improved our ability to prioritize driver TFs.. We wondered whether this principle could be applied to human biology. We used gene expression profiles derived from primary human fibroblasts expressing a variety of viral oncogenes, and applied both GMIT and PANDA to build viral oncogene-associated regulatory networks. We found that established cancer master regulators, as annotated in the Sanger Cancer Gene Census, tended to have higher degree in this network than expected by chance. However, the highest-degree nodes in the network comprised a cancer gene "desert" and were not enriched in drivers. We then integrated the regulatory networks with the human yeast two-hybrid interactome using our combined network score. In the case of the GMIT network, integrating it with the Y2H degree increased enrichment among the top 10 % of the TFs, whereas for the PANDA network, the enrichment was increased among the top 5 % of the TFs and the significance of the overall TF ranking increased as well. In particular, the combined PANDA and Y2H network score boosted the number of cancer genes at the top of the ranked list of regulators. Six of the ten most highly ranked regulators have strong evidence in the literature of causal links to carcinogenesis, angiogenesis, and metastasis.. In the case of rapamycin in yeast, we found that combining differential expression with protein interactions could produce the same level of enrichment in drivers as using the transcriptional network. In contrast, in the human dataset, the combination of differential expression and PPI degree was not as effective as the combined network score. This could be due to differences in the complexity of regulatory networks in yeast and humans. A multilayered regulatory system, like that of humans, could result in more complicated TF activity patterns that require analysis beyond simply comparing mRNA expression levels. The network metric may therefore be more widely applicable as it captures the effects of genes that do not change in expression but serve as links between genes that do.. Overall, we found the best enrichment and specificity for drivers by using a combined network score that prioritizes TFs that regulate many target genes and also physically interact with many proteins. One simple reason for this may be that integrating the two data types helps to buffer against the noise and variation in each network. The most robust signal remains after being filtered through the two independent datasets. However, another possible interpretation is that the high degree in the protein interaction network represents more activity in the signaling pathways of the cell, and high degree in the transcriptional network means a TF has more gene targets and can affect functional processes through the regulation of gene modules. The drivers ranked higher by the combined network metric may tend to significantly interact with both protein and mRNA regulation in the cell.. We delved deeper into how the protein interaction network data helps to prioritize driver TFs. We first used heatmaps to visualize the ranks of driver TFs in each network individually, and in the combined network score (see Figs. 7 and 8 and Supplementary Text in Additional file 1). Inspecting the heatmaps, we observed that there are two types of driver TFs that end up being highly ranked by the combined network score. The first class of TFs already have a high rank in either the transcriptional or protein interaction network, and therefore are still highly ranked in the combined score. The second class of drivers has a more moderate degree in both the transcriptional and protein interaction networks, but their score in the combined network score is even higher than each individual rank, leading to an overall increase in the specificity and enrichment of drivers at the top of the list. This second group of drivers represents the power of combining the network degrees.. We examined the protein interactors of this second group of drivers to better understand the biological processes that contribute to the increased enrichment in the combined network score (see Additional files 1 and 5 for more details). We found that many of the interactors are involved in chromatin assembly and histone modification. For example, RSC3 is a member of a chromatinremodeling complex and interacts with YAP1, a driver of menadione response. The rapamycin driver RTG3 interacts with the histones HHT1, HTA2, and HTB2. Another commonly enriched function involves nuclear transport and TF localization, including CRM1, which exports mRNA and protein from the nucleus and interacts with YAP1, or SRI, a human protein that can bind calcium and translocate to the cytoplasm and regulate the activity of calcium channels. In the human network, we also found a significant enrichment for developmental signaling pathways, exemplified by proteins like ID3 and UNC45A, which are involved in cell differentiation and proliferation, and which interact with the cancer drivers MAX and TCF12 respectively.. Taken together, these observations suggest that the combined network score prioritizes TFs that regulate functional gene modules and are also highly regulated themselves at the protein level, either by nuclear translocation, chromatin modification partners, competitive binding, or signaling pathways. Thus they constitute flexible channels by which condition-dependent signals are transmitted through the protein interaction network to the transcriptional network. This suggests a general principle for biological networks: that the nodes responsible for biological state transitions tend to have the highest rate of information flowing through them, as signals are transmitted from the environment through the molecular networks and to the final response (or phenotype) of the cell. Such an organizing principle could be applied to integrate other types of networks as well, like those constructed using metabolomic or phosphoproteomic data.. This also suggests that therapeutic interventions ought to target highly regulated nodes in disease-associated networks. Transcriptional networks could be constructed from gene expression profiles of patients, and combined with protein interaction databases and other information from the Fig. 7 Rapamycin drivers with high combined network score interact with proteins enriched for nucleosome assembly and respiration. Heatmap shows the ranks of all rapamycin driver TFs according to either the transcriptional network degree, the protein interaction degree, or the combined network score, with red depicting higher ranks and blue depicting lower ranks. Network diagram shows all direct protein interactors of the rapamycin driver TFs that had a higher rank in the combined network score than in either individual network alone. Edges represent evidence of direct protein interaction from yeast two-hybrid experiments literature to prioritize regulators that are driving the disease, and to identify potential therapeutic strategies that target these pathways. We believe that further development of principled techniques for network integration and analysis would be beneficial for interpreting biomedical data and finding the elements that drive biological states and diseases. The sequencing of the yeast genome in the 1990s provided a catalog of genes, most of which were of unknown function. To functionally characterize the many newly discovered protein-coding genes, a genome-wide library was constructed of single gene deleted yeast strains, representing 96 % of all open reading frames [1] . This library was first used to screen for growth under stressful conditions such as high osmotic pressure, nonoptimal glucose sources, or high pH, leading to the identification of distinct sets of driver genes responsible for growth under each of these conditions. Expression profiling of the same conditions revealed that the overlap between driver genes and differentially expressed genes was small and statistically insignificant [1] [2] [3] [4] [5] [6] . This showed that the genes transcriptionally activated by a perturbation are not the same genes that drive phenotypic changes in response to that perturbation.. Systematic genome-wide deletion screens are now becoming possible in mammalian cells through the use of technologies such as TALENs and CRISPR-Cas9 [7] [8] [9] [10] . However, it is infeasible to carry out such screens for every condition, drug, disease and patient. Characterizing multiple genetic perturbations would become exponentially complicated. As a consequence, such screens often fail to provide insight into why some genes are important and others are not. What is needed is a principled way to build models of driver genes in the context of their biological interactions.. Gene expression analysis, using expression arrays or RNA-sequencing, is the most widely used method to assay differences in cellular state between phenotypes. Robust statistics have been introduced to detect differential expression [11] . Clustering genes and looking for common binding sites upstream of their promoters can help identify transcription factors responsible for gene expression changes [12] . The Dynamic Regulatory Events Miner (DREM) is an example of a tool that searches for transcriptional regulators. DREM uses time-series expression data and physical interactions to find bifurcations in expression levels and the transcription factors responsible for them [13] .. Network inference methods attempt to find coordinated patterns of expression, including the interactions between transcription factors (TFs) and genes. These methods are based on a wide variety of metrics, like pairwise correlation, linear regression, mutual information, classifiers and ordinary differential equations. Since TFs often act nonlinearly, through cooperativity or oligomerization, mutual information can perform better than linear models at detecting network interactions. Conditional mutual information has been used to infer more complex regulatory schemes [14, 15] . However, the most successful network inference methods combine the results of many algorithms or integrate information from sources other than gene expression [16] . A method called PANDA (Passing Attributes between Networks for Data Assimilation) explicitly models the activity of regulators and promoters by combining sequence motif data with gene expression through use of a message-passing algorithm [17] . The result of applying network inference methods is typically represented as a graph where the nodes represent the genes and the edges between them represent the presence of an interaction with likelihood above a specified threshold. The network edges can either be undirected, as in the case of a correlation based network, or directed, as in gene regulatory networks such as those produced by PANDA, where edges point from the regulator to their targets.. Protein-protein interaction (PPI) networks are used to represent physical binding events measured between protein pairs. In graphical representation, each node represents a protein and edges connect proteins that physically bind each other. The topology of PPI networks has been shown to reflect some properties of biological systems. The highly connected nodes, or high-degree "hubs," in the yeast PPI network are enriched in essential genes that are lethal if deleted [18] . PPI networks have also been shown to possess a "community structure" that groups together proteins that interact more often with each other, and these communities are associated with common functions or biological processes [19] . It has been shown that disease genes are located close to each other in the human PPI network, and disease module proximity can be correlated with disease comorbidity [20, 21] .. The problem with physical interaction networks is that they are difficult to measure in phenotype-specific contexts, so the PPI networks reflect an aggregate of likely networks, not accounting for whether proteins are expressed together in individual samples or disease states. In contrast, sequencing and gene expression profiling are flexible technologies allowing individual conditions or cellular states to be independently sampled. The networks inferred from sequence or expression data can thus carry information specific to the conditions of the experiment. However, fewer studies have examined how the topology of context-dependent networks can provide insight into critical genes driving individual phenotypes [22] .. Here, we describe the construction and structural analysis of context-dependent and -independent networks in Saccharomyces cerevisiae and Homo sapiens, and the role of phenotypic drivers in these networks ( Fig. 1 ). In yeast, we first analyzed data from an experiment designed to measure the transcriptional response of yeast to rapamycin, an antifungal drug that targets the Target of Rapamycin (TOR) pathway. We then investigated six other common stress perturbations in yeast: menadione, dithiothreitol (DTT), hydrogen peroxide, heat shock, diamide, and sorbitol. We found that the driver genes specific to each condition are often enriched among the central nodes of the transcriptional and protein interaction networks, and that combining the two networks increases the power to find drivers.. In humans, we performed a similar analysis on gene expression data from primary human fibroblasts perturbed by viral oncogenes, and looked for drivers of the viral-transformed phenotypes. We found that an integrative network analysis was able to enrich for cancer drivers that were not differentially expressed in the dataset. This suggests that combining data types to infer networks, and examining the structure of the resulting network, is a fruitful pipeline for analysis of transcriptional data.

O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


TrustSets: using trust to detect deceitful agents in a distributed information collecting system This paper presents a study on how to improve a distributed information collecting system in which information is collected by a multi-agent system constituted by communicating agents, assuming the hypothesis that some agents of this system can deliberately (liar agents) or in good faith (defective agents) produce or communicate incorrect information. To ensure the coherence of the information system under these constraints, we aim to gradually limit the impact of the incoming perturbations. To reach this goal, we propose that each agent develops its own communication strategy from a TrustSet it builds using information collected by itself and information received from agents it communicates with. We consider a distributed information collecting system in the form of a multi-agents system (MAS). Each agent of the system can search information, collect information items and communicate. It collects information either directly or indirectly via communication with other agents. We assume that some agents disturb the system by disseminating false or inaccurate information either because their perception is flawed or because their interest goes against the community's one. In this article, the information to collect is assumed invariable during the experimentation.. This article provides a methodology to deal with such a perturbed distributed information collecting system. We study ways to ensure the coherence of the system (i.e. adequation between the agents' environment representation and the real environment) and its robustness (i.e. the agents' capacity to adopt strategies allowing to obtain this coherence despite the disturbed communication system). To limit the influence of agents transmitting incorrect information, we propose to use the concepts of trust and reliability. TrustNet [1] appears to be a promising way to allow each agent to build its own evaluation of the other agents. One extension of the TrustNet model, the TrustSet, is introduced in this article. It allows keeping track of the information path. Agents start out with no knowledge about the behavior of other agents. They improve this knowledge by using direct and indirect interactions and by considering the path followed by the information from its source. While interacting, the model of trustworthiness is refined and used to judge the reliability of information in order to reject undesired communications. We show on a simple mapping example in which a patrol of possibly flawed robots maps a dangerous area that use of TrustSets can make the system more robust against deceitful agents by improving communication flow.. Section I introduces the problem. Trust and related works are detailed in Section II. The TrustSet is presented in Section III before describing how agents use TrustSets to define their communication strategy in Section IV. Section V presents the "danger mapping" application and its corresponding simulation before showing the comparative results obtained using different communication strategies. Finally Section VI presents the future research. The model of trust by Marsh [3] takes into account only direct information and experiences. In a more complete model, ReGreT, by Sabater et al. [4] , an agent computes its trust in another agent using direct experiences and reputation. Up to now, a lot of trust and reputation models have been published [5] . Let us mention on line reputation models where the reputation mechanism is based on ratings given by users after a transaction. SPORAS [6] is an improved version of such models: only the most recent rating between two users is considered. We can also refer to the model based on Dempster-Shafer theory proposed by Yu and Singh [7] and to the Mui et al.'s one using a Bayesian analysis [8] . In some models, like Schillo et al.'s one [9] , agents communicate not only factual information but also trusts they have in other agents. Our work is based on this model. Compared to the information items collected by the distributed information collecting system (data), all information about trust are considered as metadata. Our agents as Schillo's ones are able to exchange data and metadata. Agents can thus build a network of trust values called 'TrustNet'. The final trust value of an agent towards another one is an aggregate of direct experiences and testimonies.. We have chosen this last model for two reasons. First, in distributed information collecting systems, agents share all their information, information they collect themselves and information they receive from other agents. Second, as we consider a system without centralized control or information set, communication are only one-to-one. Thus a classic reputation system cannot be used. TrustNets provide a kind of local and distributed reputation. Agents can compute trusts based on direct experiences (which provide them a direct trust on other agents) and on experiences between other agents (indirect trust) not represented here by reputation but by information carried by TrustNets.

O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O


Hoare logic-based genetic programming Abstract Almost all existing genetic programming systems deal with fitness evaluation solely by testing. In this paper, by contrast, we present an original approach that combines genetic programming with Hoare logic with the aid of model checking and finite state automata, henceby proposing a brand new verification-focused formal genetic programming system that makes it possible to evolve reliable programs with mathematicallyverified properties. Rich and Waters [1] have classified automatic programming techniques into four kinds: procedure, deduction, transformation, and inspection. Although deduction methods are the most important for dealing with simple problems, they also claim that these deduction methods cannot play an important role in more complex automatic programming challenges until they are combined with other methods.. Genetic programming (GP) was one of the most important automatic programming approaches, and was first studied in detail by Koza [2] in 1992. It is based on Holland's idea of genetic algorithms (GAs) [3, 4] . Subsequently, a number of variants [5, 6] have been developed, including MEP (multiexpression programming), GEP (gene expression programming), ADF-GP (automatic defined function genetic programming), STGP (strongly typed genetic programming), LGP (linear genetic programming), etc. Applications of GP are manifold: automatic design, pattern recognition, circuit design, cognitive theory, robot control, to name just a few, as well as multi-objective optimization problems [2, [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] .. GP, it could be said, is an illogical method. Although there are many variants on GP, as far as the core problem solving processes are concerned, these methods all base their fitness evaluation on testing the programs in the population on a sample of test data [16, 17] . If such methods are going to be developed further and be applied to safety-critical domains, then it is important to combine these approaches with logic-based approaches for proving and verifying program properties. The work in this paper represents the first attempt to explore the use of various approaches (Hoare logic, model checking, and the theory of automata) as a way of formalising the process of fitness evaluation in GP ; it has the following characteristics. Firstly, HGP has not only the capability for generation and verification of programs in the search space, but supports fitness evaluation at fine granularity. Secondly, HGP takes ideas from earlier work on GP search using model checking, but differs from it in working style. The former is a common model of Hoare semantics for verification of numerous program objects, the latter nevertheless is a solution peculiar to a concrete problem. Thirdly, HGP generates programs on demand, using a mixture of accuracy and approximation. These surely make it different from existing GPs. So, if extended with modern automated theorem proving techniques, this method may become an alternative approach to software reliability and program generations.. Our future studies will focus on such related topics as schema theory, the definition of new tasks, efficient search algorithms, the unified theory of various kinds of GPs, service applications, and improved implementations. It is really hard to make a precise comparison between search techniques of different natures. Apart from the objective factors, we are subjectively dedicated to the establishment of HGP recently, therefore having not explored the efficient issues comprehensively and deeply. However, HGP along with its search technique has the following characteristics. 1) Usefulness. Verification and testing are two major kinds of approaches to software reliability. A very fundamental problem with software testing is that testing under all combinations of inputs and preconditions (initial state) is not feasible, even for simple examples [37] . Consequently, classical GP cannot establish that its result functions properly under all conditions, because it works according to executions of members of the population over some limited sample dataset.. However, this is not the case for HGP. This approach searches the desired computer programs through the use of Hoare logic style reasoning. Once the result, say the Hoare formula. 1, is obtained, we can say with certainty that the program while (u = 0 ∧ r z){X} is correct with respect to P 1 ∧ P 5 ∧ P 7 and P 1 ∧ P 5 ∧ P 7 ∧ (u=0 ∨r < z). This means for any values of x, y, z, u, r, q such that P 1 ∧ P 5 ∧ P 7 holds before the program runs, so will the post condition P 1 ∧ P 5 ∧ P 7 ∧ (u = 0 ∨ r < z) after that program's termination for their returned values. As such, it is in this sense that HGP is superior to classical GP. Of course, each method has its own strong points, and so we maintain that both of them merit deep study. Indeed, one interesting area for future study is hybridizing logic-based and testing-based approaches to GP.. 2) Scope. Whether a probabilistic approach is useful should depend, first, on its effectiveness, and then its technical efficiency. In view of the following analysis, we have reason to claim that HGP gives more scope to us than the standard search.. Without loss of generality, assuming g is an element of some GP function set which takes the form of repeat f ; y := y − 4 until y = 5 (where f stands for a program whose execution has no effect on y and particularly can terminate), it follows that g cannot work or contribute the search process effectively unless its loop control variable y satisfies y = 4 × k + 5 (k 1). In other words, since GP relies on executions of programs (for the fitness values) to guide the evolution of populations, its probabilistic search must suffer from the endless loops for which y has been assigned values such that y = 4 × k + 5 by the previous computation steps of g, thus resulting in failures in evaluating programs as well as further searches. This makes the standard search vulnerable. Solving of this problem must seek help from the semantic measures. Also, GP search still faces the challenge of addressing the closure problem [13] . This problem, to put it simply, concerns type consistency. As such, it is necessary to introduce some mechanisms to ensure this type consistency into the standard search for program evaluations. Fortunately, HGP provides a means for these issues on the basis of Hoare triples. For instance, it can cope with these cases on the condition that the execution terminations have been deliberately provided for the concerned components (say g), and reflected in the pre-/post-conditions. In summary, SM (H) based search may not appear to be very efficient in all situations, but often is effective. In fact, its effort toward working out the problem is evident. Since HGP evaluates programs in light of the computation of properties of programs instead of program executions, its running, unlike that of standard GP which may fail in executions, will succeed all the time. Consequently, we see from the above mentioned facts that not only is semantic-based HGP a search method more effective than the standard search, but rather it has a broader scope than traditional GP. Definition 5.1 (Passage). Let H be a set of Hoare triples, S H its scalable representation. Again let G = V, E be a finite transition graph whose vertices represent sets (generalized pre-/post-conditions) of logic formulas, and edges are labelled either by an "f ", a program segment of some scalable formula in S H , or a "ε" symbol. A path. where V i stands for vertex of G; the string α(=f 1 f 2 . . . f n−1 ) concatenated from edge labels along the passage is called a generalized body; m(V i ) is the maximum expansion of

O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O B I O B I O O O O B I O B I I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


The safety of electronic prescribing: manifestations, mechanisms, and rates of system-related errors associated with two commercial systems in hospitals Objectives To compare the manifestations, mechanisms, and rates of system-related errors associated with two electronic prescribing systems (e-PS). To determine if the rate of system-related prescribing errors is greater than the rate of errors prevented. Methods Audit of 629 inpatient admissions at two hospitals in Sydney, Australia using the CSC MedChart and Cerner Millennium e-PS. System related errors were classified by manifestation (eg, wrong dose), mechanism, and severity. A mechanism typology comprised errors made: selecting items from drop-down menus; constructing orders; editing orders; or failing to complete new e-PS tasks. Proportions and rates of errors by manifestation, mechanism, and e-PS were calculated. Results 42.4% (n=493) of 1164 prescribing errors were system-related (78/100 admissions). This result did not differ by e-PS (MedChart 42.6% (95% CI 39.1 to 46.1); Cerner 41.9% (37.1 to 46.8)). For 13.4% (n=66) of system-related errors there was evidence that the error was detected prior to study audit. 27 .4% (n=135) of system-related errors manifested as timing errors and 22.5% (n=111) wrong drug strength errors. Selection errors accounted for 43.4% (34.2/100 admissions), editing errors 21.1% (16.5/100 admissions), and failure to complete new e-PS tasks 32.0% (32.0/100 admissions). MedChart generated more selection errors (OR=4.17; p=0.00002) but fewer new task failures (OR=0.37; p=0.003) relative to the Cerner e-PS. The two systems prevented significantly more errors than they generated (220/100 admissions (95% CI 180 to 261) vs 78 (95% CI 66 to 91)). Conclusions System-related errors are frequent, yet few are detected. e-PS require new tasks of prescribers, creating additional cognitive load and error opportunities. Dual classification, by manifestation and mechanism, allowed identification of design features which increase risk and potential solutions. e-PS designs with fewer drop-down menu selections may reduce error risk. Objectives To compare the manifestations, mechanisms, and rates of system-related errors associated with two electronic prescribing systems (e-PS). To determine if the rate of system-related prescribing errors is greater than the rate of errors prevented. Methods Audit of 629 inpatient admissions at two hospitals in Sydney, Australia using the CSC MedChart and Cerner Millennium e-PS. System related errors were classified by manifestation (eg, wrong dose), mechanism, and severity. A mechanism typology comprised errors made: selecting items from drop-down menus; constructing orders; editing orders; or failing to complete new e-PS tasks. Proportions and rates of errors by manifestation, mechanism, and e-PS were calculated. Results 42.4% (n=493) of 1164 prescribing errors were system-related (78/100 admissions). This result did not differ by e-PS (MedChart 42.6% (95% CI 39.1 to 46.1); Cerner 41.9% (37.1 to 46.8)). For 13.4% (n=66) of system-related errors there was evidence that the error was detected prior to study audit. 27.4% (n=135) of system-related errors manifested as timing errors and 22.5% (n=111) wrong drug strength errors. Selection errors accounted for 43.4% (34.2/100 admissions), editing errors 21.1% (16.5/100 admissions), and failure to complete new e-PS tasks 32.0% (32.0/100 admissions). MedChart generated more selection errors (OR=4.17; p=0.00002) but fewer new task failures (OR=0.37; p=0.003) relative to the Cerner e-PS. The two systems prevented significantly more errors than they generated (220/100 admissions (95% CI 180 to 261) vs 78 (95% CI 66 to 91)). Conclusions System-related errors are frequent, yet few are detected. e-PS require new tasks of prescribers, creating additional cognitive load and error opportunities. Dual classification, by manifestation and mechanism, allowed identification of design features which increase risk and potential solutions. e-PS designs with fewer drop-down menu selections may reduce error risk.BACKGROUND AND SIGNIFICANCE Our research allows us to go some way to begin answering two fundamental questions about e-PS which have not been adequately explored. Firstly, what is the nature and extent of new error types associated with the introduction of e-PS and, secondly, do e-PS prevent more prescribing errors than they generate?. We found system-related errors are frequent, comprising 42% of all prescribing errors (78 per 100 inpatient admissions), at two hospitals with different e-PS. However, only 2.2% were serious errors. A unique aspect of our study is that we are able to show that both e-PS prevented many more prescribing errors than they created at the study hospitals, providing some confidence of the overall benefit of e-PS for patient safety. However, system-related errors significantly reduced the overall effectiveness of e-PS. The high volume of system-related errors adds additional burden on staff to be vigilant, and corrections and clarifications required as a result of these errors may impact the efficiency of the medication process, particularly for nursing and pharmacy staff. Thus the identification and remediation of these errors is central to making e-PS safer and more effective and efficient.. Our findings demonstrate that system-related errors were most frequent when prescribers needed to select information from drop-down menus, edit information within the system, and perform new tasks not previously required. The two e-PS differed in their designs and reliance upon selection and editing of information. For both, error in selection was the most frequent mechanism, associated with 43% of system-related errors. Others have also reported drop-down menu selection as a cause of error 9 16-18 ; our results quantify this conclusion. The MedChart e-PS design, which provided greater opportunities for selection errors, generated these at a rate four times higher than the Cerner e-PS. This suggests that e-PS designed with fewer opportunities for selection errors, that is, by guiding users to select from pre-defined order sentences, may be beneficial. Errors in editing accounted for 21% of system-related errors and did not significantly differ between systems. However, the outcomes of these errors were considerably different. All editing errors using MedChart (except for one) resulted in wrong timing errors, most due to errors when changing default times. Editing errors using Cerner produced a range of clinical errors, most frequently wrong route, formulation, and dose errors. Thus in most instances prescribers using Cerner made errors when editing predefined order sentences, while the MedChart users made editing errors predominantly when changing the default times. The low use of predefined order sentences in MedChart most likely explains the differences in outcomes of the editing errors identified. We found eight predefined order sentences at the Cerner site contained an error. Given the thousands of order sentences which had been written Figure 4 Error when editing (mechanism) a predefined order sentence resulting in four clinical errors: wrong formulation, wrong dose, wrong route, wrong frequency. The prescriber wanted to order nystatin oral drops 1 ml, oral, qid (four times daily), but chose an order sentence with the wrong formulation (the topical cream order sentence sat at the top of a long menu), then modified this order sentence. The resultant order (for 10 ml of the topical cream to be applied every 4 days) contains four errors.. for the system, this represents a small error rate. However, it demonstrates that despite a rigorous internal process of hospital review, errors are possible at this stage and may be difficult to detect. This issue has rarely been raised in papers related to the design and implementation of e-PS.. There are few comparative studies. Walsh et al 9 applied a similar system-related error definition in a study in a US pediatric hospital but identified only 20 system-related errors (19% of all prescribing errors). However, 35% (n=7) were classed as serious. Our results from two adult teaching hospitals suggest a substantially greater frequency of system-related errors but a smaller percentage of serious errors (2.2%).. Both e-PS generated new tasks for prescribers which have to date received limited attention. Failure to complete these tasks accounted for 32% of all system-related errors. Some of these new tasks related to the limited functionality of the e-PS which resulted in hospitals running hybrid systems where, for example, more complex medications continued to be managed on paper-charts and thus prescribers had to leave alerts within the electronic system. A review of electronic prescribing in the UK National Health Service (NHS) reported that this is a common practice with most UK hospitals found to have taken this approach for variable dose medicines such as warfarin. 19 Thus hospitals intending to implement hybrid systems (eg, with some orders electronic and some on paper) in order to compensate for limitations in system functionality should be aware of the additional risks that this may generate. The inability in the study e-PS to order both placement and removal of patches resulted in workarounds which were not always consistently applied. Failure to pay attention to default times within the e-PS also resulted in many errors and raises the question as to the benefits and risks of using default times.. We found inconsistencies between narrative text and structured order information. Such errors have been identified by others. [20] [21] [22] For example, Palchuk et al 21 reported 16% of 2194 ambulatory orders contained inconsistency errors, 17% of which were rated as potentially severe adverse drug events. Interestingly, Palchuk et al 21 identified that nearly one third of inconsistency errors were due to prescribers using free-text instructions to request a dose that varied over the day as well as dose escalations or tapers. This suggests their e-PS had limited functionality to support such orders. At the MedChart site it was decided that these types of orders remain on paper until improved e-PS functionality was available, whereas the Cerner site used the e-PS for these orders. This may have contributed to the significantly higher rate of these types of errors at the Cerner site.. Wiener 23 labeled this situation, where automation leads to additional workload and co-ordination demands on users, as 'clumsy automation.' The new tasks required by e-PS increase the cognitive load for prescribers. 18 24 For example, the requirement for prescribers to consider whether default dates and times need to be changed, or to remember to order a reminder if a patient has a paper medication chart, all add to prescribers' cognitive load and create new opportunities for error. As Sarter et al 24 describe, the introduction of complex automation requires users to acquire new skills and 'to understand input-output relationships to be able to anticipate effects of their own entries' ( p 4). The new e-PS tasks provide examples where prescribers need to not only learn how to use the e-PS but also to understand the implications of using the system in specific ways. 24 In the aviation industry the introduction of more sophisticated systems has prompted calls for changes in pilot training, helping users to develop mental models of the way in which systems work. 24 As e-PS become more sophisticated it seems likely that similar changes in training will be required to support effective and safe system use.. The study highlights the importance of closely monitoring e-PS outcomes. The majority of errors in this study would have gone undetected without a specific focus on their identification and quantification. This was confirmed by our finding that for only 13% of system-related errors was there some indication in patients' records that the error had been detected prior to the study audit. While systems for reporting safety issues related to health IT have been advocated, 6 25 these can only be successful if users are aware of, and report, errors. Studies of adverse event reports demonstrate few system-related errors are reported. 26 Thus effective monitoring systems are required, particularly as systems continue to evolve with software upgrades and customization. Doctors who use these systems on a day-to-day basis should be aware of design features and tasks associated with increased risk of generating system-related prescribing errors. Of 629 admissions reviewed, 1164 prescribing errors were identified (185/100 admissions). Most were clinical errors (86.5%; 160/100 admissions, n=1007) and 13.5% were procedural (25/100 admissions, n=157). All system-related errors manifested as clinical errors and constituted 42.4% (78/100 admissions, n=493) of total prescribing errors (table 1). Of the 493 system-related prescribing errors identified, 66 (13.4%) were detected by ward staff prior to record audit. Hospital pharmacists identified 34, with other staff identifying the remainder. The overall proportions of system-related errors were similar at both hospitals (table 1) . However, the Cerner site had a higher system-related error rate per 100 admissions ( p=0.0036), consistent with the higher overall prescribing error rate at that hospital ( p=0.009) (table 1).

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


VisualLISA: a visual environment to develop attribute grammars Abstract. The focus of this paper is on crafting a new visual language for attribute grammars (AGs), and on the development of the associated programming environment. We present a solution for rapid development of VisualLISA editor using DEViL. DEViL uses traditional attribute grammars, to specify the language's syntax and semantics, extended by visual representations to be associated with grammar symbols. From these specifications a visual programming environment is automatically generated. In our case, the environment allows us to edit a visual description of an AG that is automatically translated into textual notations, including an XML-based representation for attribute grammars (X AGra), and is intended to be helpful for beginners and rapid development of small AGs. X AGra allows us to use VisualLISA with other compiler-compiler tools. An AG can be formally defined as the following tuple: AG = (G, A, R, C), where G is a context-free grammar, A is the set of attributes, R is the set of evaluation rules, and C is the set of contextual conditions. Each attribute has a type, and represents a specific property of a symbol X; we write X.a to indicate that attribute a is an element of the set of attributes of X, denoted by A(X). For each X (terminal or non-terminal), A(X) is divided into two disjoint sets: the inherited and the synthesized attributes. Each R is a set of formulas, like X.a = func (..., Y.b, ...) , that define how to compute, in the precise context of a production, the value of each attribute. Each C is a set of predicates, pred(..., X.a, ...), describing the requirements that must be satisfied in the precise context of a production.. As can be deduced from this complex definition of AGs they are not as easy to specify as people would desire because there is a gap between the problem solution (the desired output) and the source language that must be interpreted. The user must take care on choosing the appropriate attributes and their evaluation rules. Since the beginning, the literature related with compilers presents AGs using syntax trees decorated with attributes. So it is usual to sketch up on paper trees with attributes representing an AG. This strategy allows the developers to imagine a global solution of the problem (in a higher abstraction level) and to detect complex dependencies between attributes, symbols and functions, avoiding spending time with syntax details. However, such informal drawings require the designer to translate them manually into the input notation of a compiler generator. The person who drew it must go through the translation of the pencil strokes into the concrete syntax of the compiler generator. These inconveniences make the developers avoid the usage of AGs and go through non systematic ways to implement the languages and supporting tools. So, in this paper, we develop a Visual Language (VL), as a meta-language to write AGs, based on a previous conceptualization that we have proposed in [1] . The idea of this VL is not only about having a nice visual depiction and then to translate it into a target notation, but also about syntactic and semantic consistency checks.. VLs and consequently the Visual Programming Languages (VPLs) aim at offering the possibility to solve complex problems by describing their properties or their behavior through graphical/iconic definitions [2] . Icons are used to be composed in a space with two or more dimensions, defining sentences that are formally accepted by parsers, where shape, color and relative position of the icons are relevant issues. A visual programming language implies the existence of a Visual Programming Environment (VPE) [3, 4] , because its absence makes the language useless. Commonly, a visual programming environment consists of an editor, enriched by several tools to analyze, to process and to transform the drawings.. The main idea of this work is the development of a VPE, named VisualLISA, that assures the possibility of specifying AGs visually, and to translate them into plain text specifications or, alternatively, into a universal XML representation designed to support generic AG specifications. The original objective of this environment is to be used as front-end for LISA [5] system, diminishing the difficulties regarding the specification of AGs in LISA. However, the generality of the environment enables its use with systems other than LISA.. The visual programming environment is automatically generated by DEViL, our choice among many other tools studied; so, in this paper, the system is introduced and its use explained. However, our objective in this paper is not concerned with the discussion of compiler development tools, but show the befits of using an effective one.. In section 2, related work is presented. In Section 3 and 4, VisualLISA language and editor are informally described. In Section 5 the language is formally specified, defining syntactic rules, semantic constraints and a valid translation scheme for both LISA (the first target), and X AGra notations. In Section 6, the DEViL generator framework, used for the automatic generation of the visual editor, will be presented. In Section 7, following the informal conception and its formalization, using DEViL, the visual language and the editor implementation is shown. An overview on how to use the editor to describe an AG, is given in Section 8.. In Section 9, X AGra dialect is formally presented. Its main idea is to generalize the output of AG editing tools; instead of generating a description for a specific compiler generator, the editor under development can produce this general purpose dialect. Then to use this editor as a Front End (FE) for a specific generator, it is only necessary to resort to a simple translator to convert the XML description into the specific notation of that CG. This approach raises the usefulness of the editor, as it can be used as a FE for a larger range of grammarbased generators. However, as its applicability does not end here, we introduce, in Appendix A, X AGraAl, a tool that, based on X AGra specifications, performs grammar analysis and transformations.. The paper is concluded in Section 10. After many years working in specification and implementation of compilers supported by Attribute Grammars, it became clear that a modular and reusable approach to AG development is highly recommendable and necessary. On the other hand, the work on program comprehension tools emphasized the importance of software/data visualization. The combination of those two areas of R&D with a third one, the development of Visual Languages, gave rise to the proposal of creating a VL for AGs, since there are no other tools allowing it, according to our knowledge. The obligation to write text-based AG specifications imposed by several compiler generator tools and the habitual way of sketching AGs on paper in the form of a decorated tree, shortening the gap to the mental representation of an AG, reinforced the appropriateness of that proposal.. In this paper we introduced VisualLISA, a new Domain Specific Visual Language, which enables the specification of AGs in a visual manner and the translation of that visual AG into LISA or X AGra (an XML notation to support generic AG specifications). X AGra allows us to use this visual editor with other compiler-compiler tools.. We were mainly concerned with the design of the language, its formal and automatic implementation. In this phase of our project we neither focused on the usability of the language nor on its scalability. We focused on the specification, aiming at showing the formal work behind the visual outcome, and on the implementation of the underlying environment to specify AGs. At this point we highlighted the use of DEViL in order to create the desired environment, through a systematic approach of development. Also, an example was presented to show the steps to build an AG with VisualLISA.. In the future, it is our objective to perform at least, two experimental studies involving VisualLISA: one to assess the usability of the language regarding the visual vs textual approaches for developing AGs; and another one to test the scalability of the language and environment, regarding the hypothesis that it was created to cope with small AGs. We are also interested in assessing the comprehension of AGs; maybe VisualLISA would be very handy on this matter, working as AGs visualizer.. Concerning the applicability of X AGra, we can translate it into the specific notation of any compiler generator tool. We call X AGra loader to the program that performs this translation. As future work, the following translators are planed: X AGra into LISA (a traditional LR parser generator); X AGra into AntLR (an LL parser generator, based on an extended BNF grammar); X AGra into Eli (an LR parser generator with special constructors). Finally, a translator from X AGra to Yacc could be a challenging project.. Also, we developed a Grammar Analyzer and Transformation tool, X AGraAl. that takes as input an AG written in X AGra. Thus, the implementation of this tool shows the applicability of X AGra as a universal and multi-purpose AG specification language.. -Re-factoring, to optimize grammars generating smaller and more efficient versions.. Metrics are organized in three groups of assessment parameters:. -Size metrics, that measure the number of symbols, productions, and so on (grammar and parser sizes); -Form metrics, that describe the recursion pattern and measure the dependencies between symbols (the grammar complexity); -Lexicographic metrics, that qualify the clearness/readablity of grammar identifiers, based on a domain ontology.. Slicing operation builds partial grammar with the elements that derive in zero or more steps on the criterion (backward slicing), or that are reachable from the criterion (forward slicing). The criterion can be either a symbol or an attribute. Slices are usually presented as paths over the dependence graphs. Re-factoring is a not so usual functionality that transforms the original grammar into a minimal one, removing all the useless productions. Another transformation also provided is the generation of a new grammar combining forward and backward slices with respect to the same symbol (see Figure 14 (c) ).. Built in a similar way, GraAL [25] accepts as input a grammar written in AntLR 3 and produces the same outputs. However, X AGraAl beats GraAL in terms of generality as it consumes a grammar written in XML. Despite of existing many other applications for AGs, they are commonly associated with the development of computer languages and related tools like parsers, translators, compilers, and others. In this context, the language engineers, started to develop tools to systematize and automatize the process of defining AGs. So, several works on this area may be cited. LISA [5, 6 ] is a compiler generator based on attribute grammars, developed at University of Maribor at Slovenia. Its main objective is to generate a compiler for a language. The compiler is created by the specification of a textual attribute grammar. It automatically generates graphical and visualization tools [7] to inspect the written grammar, but it always need a textual specification of the AG.. In the same way, AnTLR [8] , a powerful compiler generator, requires textual specifications for the language grammar. This system provides online visualization of the grammar productions but it does not provide any visualization about the attributes neither the semantic rules of each production.. Other similar compiler generators like UltraGram [9] or ProGrammar [10] also produce graphical tools to ease the understanding of the grammar. But still, the input for these compiler generators is always a text-based specification.. The same happens in the visual languages generation area. DEViL [11] , a generator of visual programming languages and editors, takes advantage of AGs to define these visual outcomes. But, despite of providing excellent and usable results, the engineer needs to grasp a whole new syntax to define the AG used to produce the visual language.. In [12] , Ikezoe et al. present a systematic debugger for attribute grammars integrated in a visual tool, and it provides visualizations of the grammar showing the dependency between the symbols and the attributes. Although this is a useful tool, it is only used after constructing the AG, not being a good help to map the mental construction of an AG into its specifications.. There are, indeed, several tools to support the specification and development of AGs and their associated tools, however, and according to our knowledge, acquired through years of research work on the area, there are no tools that allow the specification of AGs using a visual notation.

B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O